delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/08/23/19:31:42

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 <angelo DOT graziosi AT alice DOT it>
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 <cygwin AT cygwin DOT com>
CC: Emacs <emacs-devel AT gnu DOT org>
Subject: Building Emacs-trunk with gcc >= 4.5.1 and libelf installed
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <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?

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019