On Jun 02, 08 01:39:41 +0100, R.M. Thomas wrote:
# REMARK: # It was necessary to remove file # /usr/include/xorg/xf86_ansic.h # in order to avoid a runtime error "undefined symbol xf86stat".
At the time I thought (on the basis of some googling) that xf86_ansic.h was an obsolete relic (awaiting de-ansification), and because its removal gave no error messages during the build and allowed the x-server to at least start I did not worry too much about discarding it. Bad move.
I could imagine that your xf86_ansic.h is a left-over from an old installation (where this was still installed by default). Check the dates of the files. Maybe you find some additional ones that shouldn't be here.
Having seen Dave's post I did some instrumenting of routine drmOpenDevice() in file xf86drm.c myself. I always got zero for the structure members st.st_dev and st.st_rdev and inconsistent values for dev. I conclude that there is something seriously wrong with the definition of dev_t in my build. I haven't tried to find where the definition is located; all I really know is that sizeof(dev_t) is 8.
/usr/include/xorg/xf86_libc.h:typedef unsigned long xf86dev_t; /usr/include/bits/typesizes.h:#define __DEV_T_TYPE __UQUAD_TYPE /usr/include/bits/types.h:# define __UQUAD_TYPE __u_quad_t (32) # define __UQUAD_TYPE unsigned long (64) Looks similar. 8 bytes is normal, verified here. When you printed the structure elements, did you cast to int, or did you use %lld (32bit) or %ld (64bit)? %d isn't enough with uncast dev_t.
Although it seems that removal of xf86_ansic.h wrecks the build, I have just as much trouble if I retain xf86_ansic.h. In the latter case the build again gives no error messages, but at runtime I get a black screen when starting X and messages in Xorg.0.log about not finding any fonts.
Maybe you should try building + installing everything with a different
--prefix (/usr/local or /opt/xorg_git or something like that). The wiki
page describes what you need to do, though not really in detail.
Matthias
--
Matthias Hopf