Hi, I already reported that ICA iteration 1 and 2 did not have the same libgmpxx.so.4.2.3. I have investigated a little more. Maybe I should recall what ICA is: -First build as per chapter 6 instructions. -Remove /tools, copy the / hierarchy into some directory, say iteration1 -then start again The build of chapter 6 packages, but using the tools in /usr. Normally, you should end up with the same files. There are always some discrepancies, mainly because of timestamps. ICA does a diff on ASCII files and only checks whether binary files differ. For ELF files, I usually compare the results of readelf -a. ld.so.cache can be printed. The only whose content is mysterious and which differs on each iteration is locale-archive... Its format seems to be undocumented. I have not checked glibc sources though.
Concerning libgmpxx (the c++ bindings of gmp), Here is the result of ICA: Binary files iteration-1/usr/lib/libgmpxx.so.4.2.3 and iteration-2/usr/lib/libgmpxx.so.4.2.3 differ. Furthermore, readelf -a show that there are more symbols in the library after iteration2. Also comparing the logs gives that the -static flag does not work for g++. Now It is easy to unpack gmp just after binutils build and make the following test: root:/sources# echo 'main(){}' | g++ -xc++ -static - /tools/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../x86_64-unknow n-linux-gnu/bin/ld: cannot find -lstdc++ collect2: ld returned 1 exit status Actually: echo 'main(){}' | g++ -xc++ -v - gives [...] LIBRARY_PATH=/tools/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/:/tools/lib/gcc/x86_ 64-unknown-linux-gnu/4.6.2/../../../../x86_64-unknown-linux-gnu/lib/:/usr/lib/ This means that /tools/lib is not searched. But this where libstdc++.a resides. I do not want to add /tools/lib to the library path (otherwise, it would link against the wrong glibc). But since there is a special path for gcc libraries (libgcc resides in/tools/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/), maybe link libstdc++ to this directory, something like: ln -s /tools/lib/libstdc++.a `dirname $(gcc --print-libgcc-file-name)`/libstdc++.a could be added to the "readjusting" instructions. After doing that, gmp's configure finds that 'g++ -static' works. Whether it introduces other problems, I have not tested yet. I try ICA again with that trick... Regards Pierre -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page