X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Message-ID: <4C7304CB.2020001@alice.it> Date: Tue, 24 Aug 2010 01:31:23 +0200 From: Angelo Graziosi User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.2.8) Gecko/20100802 Thunderbird/3.1.2 MIME-Version: 1.0 To: Cygwin CC: Emacs Subject: Building Emacs-trunk with gcc >= 4.5.1 and libelf installed Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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: ===================================== ./configure [...] checking for elf_begin in -lelf... yes [...] make [...] gcc-4.6... 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 ac_have_func=yes $as_echo "#define SVR4 1" >>confdefs.h fi -------- 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 # 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? Thanks, Angelo. --- [1] Here Cygwin isn't different frome GNU/Linux Kubuntu 10.04. :-) -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple