Greetings all,

We have a show stopper.

The following does not occur using the same system I have been using with 32 bit builds such as powerpc or x86. Nore did I have this issue with pure64. This seems to be a multilib issue.

I don't know if it is from the gcc specs patch or our cross binutils but this is the issue:

This will surface if the host eglibc or glibc is less than the book's eglibc version. This will not surface if the host eglibc or glibc is the same or greater than the book's eglibc version.

make[2]: Entering directory `/mnt/clfs/sources/binutils-build/binutils'
if [ -r sysinfo.c ]; then \
gcc -c -I. -W -Wall -Wstrict-prototypes -Wmissing-prototypes - Wshadow -Werror -Wno-error sysinfo.c ; \
else \
gcc -c -I. -W -Wall -Wstrict-prototypes -Wmissing-prototypes - Wshadow -Werror -Wno-error ../../binutils-2.22/binutils/sysinfo.c ; \
fi
as: /lib/libc.so.6: version `GLIBC_2.14' not found (required by /mnt/ clfs/sources/binutils-build/./opcodes/.libs/libopcodes-2.22.so) as: /lib/libc.so.6: version `GLIBC_2.14' not found (required by /mnt/ clfs/sources/binutils-build/./bfd/.libs/libbfd-2.22.so)
make[2]: *** [sysinfo.o] Error 1
make[2]: Leaving directory `/mnt/clfs/sources/binutils-build/binutils'
make[1]: *** [all-binutils] Error 2
make[1]: Leaving directory `/mnt/clfs/sources/binutils-build'
make: *** [all] Error 2

For some reason, opcodes shared library is linking to the host libs.

The versioned symbols will not exist in the host libc thus resulting in the following:

make[2]: Entering directory `/mnt/clfs/sources/binutils-build/binutils'
if [ -r sysinfo.c ]; then \
gcc -c -I. -W -Wall -Wstrict-prototypes -Wmissing-prototypes - Wshadow -Werror -Wno-error sysinfo.c ; \
else \
gcc -c -I. -W -Wall -Wstrict-prototypes -Wmissing-prototypes - Wshadow -Werror -Wno-error ../../binutils-2.22/binutils/sysinfo.c ; \
fi
as: /lib/libc.so.6: version `GLIBC_2.14' not found (required by /mnt/ clfs/sources/binutils-build/./opcodes/.libs/libopcodes-2.22.so) as: /lib/libc.so.6: version `GLIBC_2.14' not found (required by /mnt/ clfs/sources/binutils-build/./bfd/.libs/libbfd-2.22.so)
make[2]: *** [sysinfo.o] Error 1
make[2]: Leaving directory `/mnt/clfs/sources/binutils-build/binutils'
make[1]: *** [all-binutils] Error 2
make[1]: Leaving directory `/mnt/clfs/sources/binutils-build'
make: *** [all] Error 2

We have a serious issue here. I've done this multiple times with my scripts and manually multiple times. It is a show stopper.

We need to find out what is causing this.

I'm asking the community to build multilib systems where the host libc version is less than the book's libc version. < 2.15 This will make sure it is a definite issue. Much does not have to be built. Build the crosstools then the temp tools up to binutils. The issue will surface there.

opcodes.so in binutils-buil/opcodes.libs/opcodes.so is indeed linking to the host lib for some reason.

============= cleaning opcodes and building fresh======================
clfs:/mnt/clfs/sources/binutils-build/opcodes$ make clean
Making clean in po
make[1]: Entering directory `/mnt/clfs/sources/binutils-build/opcodes/ po'
rm -f core core.* *.pox opcodes.po *.old.po cat-id-tbl.tmp
rm -fr *.o
make[1]: Leaving directory `/mnt/clfs/sources/binutils-build/opcodes/po'
Making clean in .
make[1]: Entering directory `/mnt/clfs/sources/binutils-build/opcodes'
test -z "libopcodes.la" || rm -f libopcodes.la
rm -f "./so_locations"
test -z "stamp-fr30 stamp-frv stamp-ip2k stamp-iq2000 stamp-lm32 stamp-m32c stamp-m32r stamp-mep stamp-mt stamp-openrisc stamp-xc16x stamp-xstormy16 libopcodes.a stamp-lib" || rm -f stamp-fr30 stamp-frv stamp-ip2k stamp-iq2000 stamp-lm32 stamp-m32c stamp-m32r stamp-mep stamp-mt stamp-openrisc stamp-xc16x stamp-xstormy16 libopcodes.a stamp-lib
rm -rf .libs _libs
test -z "libopcodes.a" || rm -f libopcodes.a
test -z "" || rm -f
rm -f *.o
test -z "i386-gen ia64-gen s390-mkopc s390-opc.tab z8kgen opc2c" || rm -f i386-gen ia64-gen s390-mkopc s390-opc.tab z8kgen opc2c
rm -f *.lo
make[1]: Leaving directory `/mnt/clfs/sources/binutils-build/opcodes'
clfs:/mnt/clfs/sources/binutils-build/opcodes$ make
make  all-recursive
make[1]: Entering directory `/mnt/clfs/sources/binutils-build/opcodes'
Making all in .
make[2]: Entering directory `/mnt/clfs/sources/binutils-build/opcodes'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-unknown-linux-gnu- gcc -m64 -DHAVE_CONFIG_H -I. -I../../binutils-2.22/opcodes -I. - I../../binutils-2.22/opcodes -I../bfd -I../../binutils-2.22/ opcodes/../include -I../../binutils-2.22/opcodes/../bfd -W -Wall - Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT dis-buf.lo -MD -MP -MF .deps/dis-buf.Tpo -c -o dis-buf.lo ../../ binutils-2.22/opcodes/dis-buf.c libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT dis-buf.lo -MD -MP -MF .deps/ dis-buf.Tpo -c ../../binutils-2.22/opcodes/dis-buf.c -fPIC -DPIC - o .libs/dis-buf.o libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT dis-buf.lo -MD -MP -MF .deps/ dis-buf.Tpo -c ../../binutils-2.22/opcodes/dis-buf.c -o dis-buf.o >/ dev/null 2>&1
mv -f .deps/dis-buf.Tpo .deps/dis-buf.Plo
/bin/sh ./libtool --tag=CC --mode=compile x86_64-unknown-linux-gnu- gcc -m64 -DHAVE_CONFIG_H -I. -I../../binutils-2.22/opcodes -I. - I../../binutils-2.22/opcodes -I../bfd -I../../binutils-2.22/ opcodes/../include -I../../binutils-2.22/opcodes/../bfd -W -Wall - Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT disassemble.lo -MD -MP -MF .deps/disassemble.Tpo -c -o disassemble.lo -DARCH_i386 -DARCH_l1om -DARCH_k1om ../../ binutils-2.22/opcodes/disassemble.c libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT disassemble.lo -MD -MP - MF .deps/disassemble.Tpo -c -DARCH_i386 -DARCH_l1om -DARCH_k1om ../../ binutils-2.22/opcodes/disassemble.c -fPIC -DPIC -o .libs/disassemble.o libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT disassemble.lo -MD -MP - MF .deps/disassemble.Tpo -c -DARCH_i386 -DARCH_l1om -DARCH_k1om ../../ binutils-2.22/opcodes/disassemble.c -o disassemble.o >/dev/null 2>&1
mv -f .deps/disassemble.Tpo .deps/disassemble.Plo
/bin/sh ./libtool --tag=CC --mode=compile x86_64-unknown-linux-gnu- gcc -m64 -DHAVE_CONFIG_H -I. -I../../binutils-2.22/opcodes -I. - I../../binutils-2.22/opcodes -I../bfd -I../../binutils-2.22/ opcodes/../include -I../../binutils-2.22/opcodes/../bfd -W -Wall - Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT dis-init.lo -MD -MP -MF .deps/dis-init.Tpo -c -o dis-init.lo ../../ binutils-2.22/opcodes/dis-init.c libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT dis-init.lo -MD -MP -MF .deps/ dis-init.Tpo -c ../../binutils-2.22/opcodes/dis-init.c -fPIC -DPIC - o .libs/dis-init.o libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT dis-init.lo -MD -MP -MF .deps/ dis-init.Tpo -c ../../binutils-2.22/opcodes/dis-init.c -o dis-init.o >/dev/null 2>&1
mv -f .deps/dis-init.Tpo .deps/dis-init.Plo
/bin/sh ./libtool --tag=CC --mode=compile x86_64-unknown-linux-gnu- gcc -m64 -DHAVE_CONFIG_H -I. -I../../binutils-2.22/opcodes -I. - I../../binutils-2.22/opcodes -I../bfd -I../../binutils-2.22/ opcodes/../include -I../../binutils-2.22/opcodes/../bfd -W -Wall - Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT i386-dis.lo -MD -MP -MF .deps/i386-dis.Tpo -c -o i386-dis.lo ../../ binutils-2.22/opcodes/i386-dis.c libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT i386-dis.lo -MD -MP -MF .deps/ i386-dis.Tpo -c ../../binutils-2.22/opcodes/i386-dis.c -fPIC -DPIC - o .libs/i386-dis.o libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT i386-dis.lo -MD -MP -MF .deps/ i386-dis.Tpo -c ../../binutils-2.22/opcodes/i386-dis.c -o i386-dis.o >/dev/null 2>&1
mv -f .deps/i386-dis.Tpo .deps/i386-dis.Plo
/bin/sh ./libtool --tag=CC --mode=compile x86_64-unknown-linux-gnu- gcc -m64 -DHAVE_CONFIG_H -I. -I../../binutils-2.22/opcodes -I. - I../../binutils-2.22/opcodes -I../bfd -I../../binutils-2.22/ opcodes/../include -I../../binutils-2.22/opcodes/../bfd -W -Wall - Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT i386-opc.lo -MD -MP -MF .deps/i386-opc.Tpo -c -o i386-opc.lo ../../ binutils-2.22/opcodes/i386-opc.c libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT i386-opc.lo -MD -MP -MF .deps/ i386-opc.Tpo -c ../../binutils-2.22/opcodes/i386-opc.c -fPIC -DPIC - o .libs/i386-opc.o libtool: compile: x86_64-unknown-linux-gnu-gcc -m64 -DHAVE_CONFIG_H - I. -I../../binutils-2.22/opcodes -I. -I../../binutils-2.22/opcodes - I../bfd -I../../binutils-2.22/opcodes/../include -I../../ binutils-2.22/opcodes/../bfd -W -Wall -Wstrict-prototypes -Wmissing- prototypes -Wshadow -Werror -g -O2 -MT i386-opc.lo -MD -MP -MF .deps/ i386-opc.Tpo -c ../../binutils-2.22/opcodes/i386-opc.c -o i386-opc.o >/dev/null 2>&1
mv -f .deps/i386-opc.Tpo .deps/i386-opc.Plo
/bin/sh ./libtool --tag=CC --mode=link x86_64-unknown-linux-gnu-gcc -m64 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow - Werror -g -O2 -release `cat ../bfd/libtool-soversion` -o libopcodes.la -rpath /tools/lib64 dis-buf.lo disassemble.lo dis- init.lo i386-dis.lo i386-opc.lo -Wl,/mnt/clfs/sources/binutils-build/ opcodes/../bfd/.libs/libbfd.so -L/mnt/clfs/sources/binutils-build/ opcodes/../libiberty/pic -liberty -Wl,-lc,--as-needed,-lm,--no-as-needed libtool: link: x86_64-unknown-linux-gnu-gcc -m64 -shared .libs/dis- buf.o .libs/disassemble.o .libs/dis-init.o .libs/i386-dis.o .libs/ i386-opc.o -L/mnt/clfs/sources/binutils-build/opcodes/../libiberty/ pic -liberty -m64 -Wl,/mnt/clfs/sources/binutils-build/opcodes/../ bfd/.libs/libbfd.so -Wl,-lc -Wl,--as-needed -Wl,-lm -Wl,--no-as- needed -Wl,-soname -Wl,libopcodes-2.22.so -o .libs/libopcodes-2.22.so libtool: link: (cd ".libs" && rm -f "libopcodes.so" && ln -s "libopcodes-2.22.so" "libopcodes.so") libtool: link: x86_64-unknown-linux-gnu-ar cru .libs/libopcodes.a dis-buf.o disassemble.o dis-init.o i386-dis.o i386-opc.o
libtool: link: x86_64-unknown-linux-gnu-ranlib .libs/libopcodes.a
libtool: link: ( cd ".libs" && rm -f "libopcodes.la" && ln -s "../ libopcodes.la" "libopcodes.la" )
libtooldir=`/bin/sh ./libtool --config | sed -n -e 's/^objdir=//p'`; \
if [ -f $libtooldir/libopcodes.a ]; then \
  cp $libtooldir/libopcodes.a libopcodes.tmp; \
  x86_64-unknown-linux-gnu-ranlib libopcodes.tmp; \
/bin/sh ../../binutils-2.22/opcodes/../move-if-change libopcodes.tmp libopcodes.a; \
else true; fi
touch stamp-lib
make[2]: Leaving directory `/mnt/clfs/sources/binutils-build/opcodes'
Making all in po
make[2]: Entering directory `/mnt/clfs/sources/binutils-build/opcodes/ po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/clfs/sources/binutils-build/opcodes/po'
make[1]: Leaving directory `/mnt/clfs/sources/binutils-build/opcodes'

============== shared library status=================

clfs:/mnt/clfs/sources/binutils-build/opcodes/.libs$ ldd *.so
libopcodes-2.22.so:
./libopcodes-2.22.so: /lib/libc.so.6: version `GLIBC_2.14' not found (required by ./libopcodes-2.22.so)
        linux-vdso.so.1 =>  (0x00007fffa55f6000)
        libbfd-2.22.so => /usr/lib/libbfd-2.22.so (0x00007fbc15ec7000)
        libc.so.6 => /lib/libc.so.6 (0x00007fbc15b20000)
        libz.so.1 => /lib/libz.so.1 (0x00007fbc15908000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fbc164d3000)
libopcodes.so:
./libopcodes.so: /lib/libc.so.6: version `GLIBC_2.14' not found (required by ./libopcodes.so)
        linux-vdso.so.1 =>  (0x00007fff955ff000)
        libbfd-2.22.so => /usr/lib/libbfd-2.22.so (0x00007f94bb66f000)
        libc.so.6 => /lib/libc.so.6 (0x00007f94bb2c8000)
        libz.so.1 => /lib/libz.so.1 (0x00007f94bb0b0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f94bbc7b000)

Should not be /lib64 or /lib

Sincerely,

William Harrington
_______________________________________________
Clfs-dev mailing list
[email protected]
http://lists.cross-lfs.org/listinfo.cgi/clfs-dev-cross-lfs.org

Reply via email to