This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Binutils 2.17: configure in libiberty does not find stdlib.h -> build failure


On Mon, 16 Apr 2007 06:42:58 +0200, Alan Modra <amodra@bigpond.net.au> wrote:

That will be because Daniel made libiberty/configure.ac invoke
AC_PROG_CPP_WERROR, thus turning cpp warnings into errors.
See http://sourceware.org/ml/binutils/2003-09/msg00416.html
configure in other dirs doesn't do this.

I have to excuse myself because I did not really point to the real error message I get from gcc(!). Gcc fails to compile toplevel/libiberty/cplus-dem.c in line 55 because of conflicting types for malloc (which implies that there really is a stdlib.h). Here is the error message:


if [ x"" != x ]; then \
x86_64-unknown-linux-gnu-gcc -Wl,-dynamic-linker -Wl,/cross-tools/x86_64-unknown-linux-gnu/sys-root/lib64/ld-linux-x86-64.so.2 -c -DHAVE_CONFIG_H -pipe -O3 -march=athlon64 -I. -I../../binutils-2.17/libiberty/../include -W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes -Wc++-compat ../../binutils-2.17/libiberty/cplus-dem.c -o pic/cplus-dem.o; \
else true; fi
x86_64-unknown-linux-gnu-gcc -Wl,-dynamic-linker -Wl,/cross-tools/x86_64-unknown-linux-gnu/sys-root/lib64/ld-linux-x86-64.so.2 -c -DHAVE_CONFIG_H -pipe -O3 -march=athlon64 -I. -I../../binutils-2.17/libiberty/../include -W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes -Wc++-compat ../../binutils-2.17/libiberty/cplus-dem.c -o cplus-dem.o
../../binutils-2.17/libiberty/cplus-dem.c:55: warning: function declaration isn't a prototype
../../binutils-2.17/libiberty/cplus-dem.c:55: error: conflicting types for 'malloc'
../../binutils-2.17/libiberty/cplus-dem.c:56: warning: function declaration isn't a prototype
../../binutils-2.17/libiberty/cplus-dem.c: In function 'code_for_qualifier':
../../binutils-2.17/libiberty/cplus-dem.c:582: warning: implicit declaration of function 'abort'
../../binutils-2.17/libiberty/cplus-dem.c:582: warning: incompatible implicit declaration of built-in function 'abort'
../../binutils-2.17/libiberty/cplus-dem.c: In function 'qualifier_string':
../../binutils-2.17/libiberty/cplus-dem.c:622: warning: incompatible implicit declaration of built-in function 'abort'
../../binutils-2.17/libiberty/cplus-dem.c: In function 'squangle_mop_up':
../../binutils-2.17/libiberty/cplus-dem.c:1082: warning: implicit declaration of function 'free'
../../binutils-2.17/libiberty/cplus-dem.c: In function 'demangle_qualified':
../../binutils-2.17/libiberty/cplus-dem.c:3177: warning: implicit declaration of function 'atoi'
make[2]: *** [cplus-dem.o] Error 1
make[2]: Leaving directory `/mnt/lfs/temptools/src/binutils-build/libiberty'
make[1]: *** [all-libiberty] Error 2
make[1]: Leaving directory `/mnt/lfs/temptools/src/binutils-build'
make: *** [all] Error 2


It is indeed strange that you have linker options being passed to your
cpp.  How are you configuring?  Do you specify CPP or CPPFLAGS,
perhaps via your environment?

I have only specified the following flags: LD_LIBRARY_PATH, CC, CXX, LD, AR, AS, RANLIB. I appended the linker path to CC and CXX, so that I can run 64bit executables without having them statically linked.
See here:
http://www-1.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&dc=DB520&uid=swg21242495&loc=en_US&cs=UTF-8&lang=en&rss=ct2239other
LD_LIBRARY_PATH points to the 64bit libs. I have not set CPP and CPPFLAGS.
Your question about CPP and CPPFLAGS made me curious about why I had not set them. So CPP also points to crosstool-cpp. Binutils compiles now. Thank you for your help!



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]