[Clfs-dev] PATCH : clfs-svn/powerpc/binutils failure

Ken Moffat ken at linuxfromscratch.org
Fri Feb 15 05:43:16 PST 2008


On Wed, Feb 13, 2008 at 11:18:32AM +0100, Philippe De Muyter wrote:
> Hi all
> 
> In the book 'Development CLFS (SVN)' for PowerPC, IV. Building the Basic Tools,
> 6. Constructing a Temporary System / Binutils-2.18
> 
> The compilation fails with :
> 
> /archives/meip/clfs-svn-ppc-chroot-vanilla/sources/binutils-build/libiberty/pic 
> -liberty  -Wl,-soname -Wl,libbfd-2.18.0.so -o .libs/libbfd-2.18.0.so
> libtool: link: (cd ".libs" && rm -f "libbfd.so" && ln -s "libbfd-2.18.0.so" "lib
> bfd.so")
> libtool: link: powerpc-unknown-linux-gnu-ar cru .libs/libbfd.a  archive.o archur
> es.o bfd.o bfdio.o bfdwin.o cache.o coffgen.o corefile.o format.o init.o libbfd.o opncls.o reloc.o section.o syms.o targets.o hash.o linker.o srec.o binary.o tekhex.o ihex.o stabs.o stab-syms.o merge.o dwarf2.o simple.o elf32-ppc.o elf-vxworks.o elf32.o elf.o elflink.o elf-attrs.o elf-strtab.o elf-eh-frame.o dwarf1.o coff-rs6000.o xcofflink.o ppcboot.o elf32-gen.o cpu-rs6000.o cpu-powerpc.o
> powerpc-unknown-linux-gnu-ar: error while loading shared libraries: /archives/meip/clfs-svn-ppc-chroot-vanilla/sources/binutils-build/./bfd/.libs/libbfd-2.18.0.so: ELF file data encoding not little-endian
> 
> I surmise that powerpc-unknown-linux-gnu-ar finds in its search patch a newly
> built library for powerpc while searching for its own x86-library.
> I don't know how to solve that search-path problem, but an easy workaround
> is to have powerpc-unknown-linux-gnu-ar linked statically in the previous
> phase.
> 
 Sorry for the delay in replying, I'm concentrating on other things
at the moment.

 I built the ppc book at the end of December, and not very much of
the early part has changed up to here.  Looking back at my notes, I
built the initial part on x86_64, and then copied it over to my ppc
and chrooted.  Retrieving the log, the nearest I can find is this
part (it's got reformatted in the pasting)

libtool: link: powerpc-unknown-linux-gnu-gcc -shared
.libs/archive.o .libs/archures.o .libs/bfd.o .libs/bfdio.o
.libs/bfdwin.o .libs/cache.o .libs/coffgen.o .libs/corefile.o
.libs/format.o .libs/init.o .libs/libbfd.o .libs/opncls.o
.libs/reloc.o .libs/section.o .libs/syms.o .libs/targets.o
.libs/hash.o .libs/linker.o .libs/srec.o .libs/binary.o
.libs/tekhex.o .libs/ihex.o .libs/stabs.o .libs/stab-syms.o
.libs/merge.o .libs/dwarf2.o .libs/simple.o .libs/elf32-ppc.o
.libs/elf-vxworks.o .libs/elf32.o .libs/elf.o .libs/elflink.o
.libs/elf-attrs.o .libs/elf-strtab.o .libs/elf-eh-frame.o
.libs/dwarf1.o .libs/coff-rs6000.o .libs/xcofflink.o .libs/ppcboot.o
.libs/elf32-gen.o .libs/cpu-rs6000.o .libs/cpu-powerpc.o
[ your quote seems to come in the next part ]
-L/mnt/lfs/building/binutils-build/libiberty/pic -liberty
-Wl,-soname -Wl,libbfd-2.18.0.so -o .libs/libbfd-2.18.0.so
libtool: link: (cd ".libs" && rm -f "libbfd.so" && ln -s
"libbfd-2.18.0.so" "libbfd.so")
libtool: link: powerpc-unknown-linux-gnu-ar cru .libs/libbfd.a
archive.o archures.o bfd.o bfdio.o bfdwin.o cache.o coffgen.o
corefile.o format.o init.o libbfd.o opncls.o reloc.o section.o
syms.o targets.o hash.o linker.o srec.o binary.o tekhex.o ihex.o
stabs.o stab-syms.o merge.o dwarf2.o simple.o elf32-ppc.o
elf-vxworks.o elf32.o elf.o elflink.o elf-attrs.o elf-strtab.o
elf-eh-frame.o dwarf1.o coff-rs6000.o xcofflink.o ppcboot.o
elf32-gen.o cpu-rs6000.o cpu-powerpc.o
libtool: link: powerpc-unknown-linux-gnu-ranlib .libs/libbfd.a
libtool: link: creating libbfd.la

 I'm by no means a toolchain expert, but I think your diagnosis is
unlikely.  The instructions in the book work for me.  Thanks for the
patch, but I'm not minded to apply it unless the problem is widely
seen and cannot be attributed to operator error.  I know people have
said they have had problems with ppc at various times, so I'm
keeping an open mind - it might even be a libtool problem, which
version is on your host ?

ĸen
-- 
das eine Mal als Tragödie, das andere Mal als Farce



More information about the Clfs-dev mailing list