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