-------- Messaggio originale -------- Oggetto: Bootstrapping Emacs (trunk) with GCC >= 4.5.1 [Cygwin] Data: Tue, 03 Aug 2010 13:50:09 +0200 Mittente: Angelo Graziosi A: Emacs <emacs-devel AT gnu DOT org>
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? Thanks, Angelo. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/