[Clfs-dev] PATCH : clfs-svn/powerpc/binutils failure
Philippe De Muyter
phdm at macqel.be
Wed Feb 13 02:18:32 PST 2008
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.
Below is a patch using this workaround.
Feel free to apply.
Philippe
Index: cross-tools/common/binutils.xml
===================================================================
--- cross-tools/common/binutils.xml (revision 3902)
+++ cross-tools/common/binutils.xml (working copy)
@@ -54,7 +54,7 @@
<screen os="bc"><userinput>AR=ar AS=as ../binutils-&binutils-version;/configure --prefix=/cross-tools \
--host=${CLFS_HOST} --target=${CLFS_TARGET} --with-lib-path=/tools/lib \
- --disable-nls --enable-shared --disable-multilib</userinput></screen>
+ --disable-nls --disable-shared --disable-multilib</userinput></screen>
<variablelist os="bd">
<title>The meaning of the configure options:</title>
@@ -104,9 +104,9 @@
</varlistentry>
<varlistentry os="bd6">
- <term><parameter>--enable-shared</parameter></term>
+ <term><parameter>--disable-shared</parameter></term>
<listitem>
- <para>Enable the creation of the shared libraries.</para>
+ <para>Disable the creation of the shared libraries, and hence forces the binutils to be linked statically against libbfd. This avoids the following error when building the final binutils : 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</para>
</listitem>
</varlistentry>
More information about the Clfs-dev
mailing list