Building Emacs-trunk with gcc >= 4.5.1 and libelf installed

Angelo Graziosi
Mon Aug 23 23:47:00 GMT 2010

Trying to build Emacs-trunk on Cygwin with GCC >= 4.5.1, I have found a 
problem if also the package 'libelf0' is installed.

The build fails in this way:

checking for elf_begin in -lelf... yes
In file included from /usr/include/X11/Xos.h:146:0,
                  from /tmp/emacs/src/xfaces.c:277:
/usr/include/X11/Xarch.h:43:30: fatal error: sys/byteorder.h: No such
file or directory
compilation terminated.
make[2]: *** [xfaces.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/tmp/emacs/Work/src'
make[1]: *** [src] Error 2
make[1]: Leaving directory '/tmp/emacs/Work'
make: *** [bootstrap] Error 2

The issue is fixed, simply, if I uninstall 'libelf0'. Indeed...

If 'libelf0' is installed, we have from 'configure',

checking for elf_begin in -lelf... yes

and the following test in 'configure' script is true:

if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then

$as_echo "#define SVR4 1" >>confdefs.h


i.e. SVR4 is _defined_. But... 'src/xfaces.c' includes indirectly via 
'/usr/include/X11/Xos.h' the header '/usr/include/X11/Xarch.h', which has:

#  if defined(SVR4) || defined(__SVR4)
#   include <sys/byteorder.h>
#  elif

i.e. finding SVR4 defined, it searches for 'byteorder.h' in 
'/usr/include/sys' and not in '/usr/include/asm', where it lives (*as on 
GNU/Linux*[1]), and this leads to the above failure.

What does the Cygwin 'libelf0' maintainer think about these facts?


[1] Here Cygwin isn't different frome GNU/Linux Kubuntu 10.04. :-)

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list