Op 6-aug-09, om 13:32 heeft Pol Vangheluwe het volgende geschreven:

How I solved this problem:

My host system (an Apple PowerPC 7200 running linux-2.6, but with glibc-2.1.3) has not the required version glibc-2.2.5. When making gcc, pass-2, the newly built /lfs/sources/gcc-build/./gcc/ libgcc_s.so.1 is apparently immediately used in the same make process, resulting in many errors like: "<app>: /lib/libc.so.6: version `GLIBC_2.2.4' not found (required by /lfs/sources/gcc- build/./gcc/libgcc_s.so.1)". I could work around this error by first compiling every offending <app>. Finally I had to compile most of the toolchain (bash, m4, ncurses, coreutils, make, grep, autoconf, automake, texinfo, diffutils and gettext). I followed the instructions of the LFS manual, although sometimes I had to modify the configuration to let succeed the build.

The toughest problem however were 2 errors I got during a configure phase of the gcc build: "configure: error: unsupported system, cannot find sizeof (omp_lock_t)" "checking size of int... configure: error: cannot compute sizeof (int), 77" It took some time before I discovered in the log files that a newly built xgcc was used during this configuration. And it took even more time before I understood that this xgcc also needed a modified specs file to work properly on my system. So I had to run the following command: lfs:/lfs/sources/gcc-build/gcc$ ./xgcc -dumpspecs | sed 's@/lib/ ld.so.1@/tools&@g' > `dirname $(./xgcc -print-libgcc-file-name)`/specs
lfs:/lfs/sources/gcc-build/gcc$ cat specs | grep 'tools'
-m elf32ppclinux %{!shared: %{!static: %{rdynamic:-export- dynamic} %{!dynamic-linker:-dynamic-linker %{muclibc:%{mglibc:%e- mglibc and -muclibc used together}/lib/ld-uClibc.so.0;:/tools/lib/ ld.so.1}}}} -m elf32ppclinux %{!shared: %{!static: %{rdynamic:-export- dynamic} %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}

Finally, I could successfully build and install gcc in pass-2. I am now proceeding as from section 5.13 of the LFS-6.4 manual, so far without any problem.

I am still wondering why I could build gcc without any problem in pass-1, while pass-2 was so dependent of the host system…

BTW: what's also confusing: the command 'gcc-dumpspecs' only shows the built-in specs; if you want to know what specs files are actually used, you have to submit the command:
lfs:~$ gcc -v
Reading specs from /lfs/tools/bin/../lib/gcc/powerpc-unknown-linux- gnu/4.3.2/specs
Target: powerpc-unknown-linux-gnu
Configured with: ../gcc-4.3.2/configure --prefix=/tools --with-local- prefix=/tools --enable-clocale=gnu --enable-shared --enable- threads=posix --enable-__cxa_atexit --enable-languages=c,c++ -- disable-libstdcxx-pch --disable-bootstrap
Thread model: posix
gcc version 4.3.2 (GCC)

pvg


Meanwhile, I finished building the LFS system on my good old Apple PPC7200. I knew that I could not use grub (even not install it) on this "oldworld" machine, but the only thing I had to do to boot into LFS with the MacOS9 BootX loader was changing the root partition from / dev/sda6 (the host partition) to /dev/sda7 (the lfs partition):

pol [ ~ ]$ df -h
Bestandssysteem       Grtte Gebr Besch Geb% Aangekoppeld op
/dev/sda7             4,9G  1,2G  3,5G  26% /
/dev/sda6             3,4G  2,2G  986M  70% /mklinux
/dev/sdc6             2,0G  1,3G  784M  62% /mac
tmpfs                 139M     0  139M   0% /dev/shm

I am now hopping around in the BLFS book, installing utilities and servers and having a lot of fun…

pol [ ~ ]$ uname -a
Linux ppc7200 2.6.27.25.lfs3 #2 Tue Sep 8 00:40:21 CEST 2009 ppc 601 Power Macintosh GNU/Linux

The only thing that remains from my hostsystem is the name of the dynamic linker; it is still "ld.so.1" instead of "ld-linux.so.2"

pol [ ~ ]$ readelf -l /bin/ls | grep interpreter
      [Requesting program interpreter: /lib/ld.so.1]

That's why I can only grant 99/100 to the lfs-team…

pvg
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to