[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bootstrapping Emacs (trunk) with GCC >= 4.5.1 [Cygwin]

From: Angelo Graziosi
Subject: Bootstrapping Emacs (trunk) with GCC >= 4.5.1 [Cygwin]
Date: Tue, 03 Aug 2010 13:50:09 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv: Gecko/20100713 Thunderbird/3.1.1

On Cygwin, I have tried to bootstrap Emacs-trunk using gcc-4.5.1 (just released) and gcc-4.6-20100731 (snapshot), but the build fails as follows:

gcc-4.6 -c -Demacs -DHAVE_CONFIG_H -I. -I/tmp/emacs/src -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -D_REENTRANT -I/usr/include/librsvg-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 -D_REENTRANT -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -MMD -MF deps/xfns.d -Wold-style-definition -Wdeclaration-after-statement -Wno-pointer-sign -g -O2 /tmp/emacs/src/xfns.c
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 culprit are these statements in '/usr/include/X11/Xarch.h':

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

On Cygwin, it seems that the

if defined(SVR4)...

branch is executed and the header 'byteorder.h' is not found because it lives in /usr/include/asm not in /usr/include/sys!

Now I have tried the same on GNU/Linux Kubuntu 10.04, on which that header, 'byteorder.h', lives in the same /usr/include/asm directory as on Cygwin, but the bootstrap passes, almost surely because the 'elif' branch is executed!

So, on Cygwin, I adopted the workaround to create a symbolic link:

cd /usr/include/sys
ln -sf ../asm/byteorder.h byteorder.h

Now the bootstrap (with GCC >= 4.5.1) passes also on Cygwin, and works.

Have you better ideas on this issue?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]