This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Crosstool 0.43, PowerPC 750, Ubuntu 8.0.4: glibc Versioning vs. shared-libs build problem


Hello,

I am trying to build a ppc750 crosstool-chain on my ubuntu 8.0.4 machine. I already stumbled across the known issue in ubuntu regarding the "Missing " Character" error which can be solved by pointing /bin/sh to bash rather than dash.
However, a more complicated issue I have not been able occurs when building glibc.2.3.6 (gcc: 4.1.0, binutils 2.16.1), i.e the default config in crosstool0.43 for ppc750.
The build of binutils, gcc-code and glibc-headers all runs well, glibc stops with error msg:


../sysdeps/powerpc/powerpc32/dl-machine.c:38:2: #error This will not work with versioning turned off, sorry.
make[2]: *** [/home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/build-glibc/elf/dl-machine.os] Error 1
make[2]: Leaving directory `/home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/glibc-2.3.6/elf'


make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/glibc-2.3.6'


make: *** [lib] Error 2


apparently versioning is turend off and this causes trouble. Strangely additional --enable-versioning config-params for glibc doen not enable versioning. This is because of the following configure-script of glibc:


echo "${ECHO_T}$libc_cv_ld_version_script_option" >&6
if test $shared != no &&
 test $libc_cv_asm_symver_directive = yes &&
 test $libc_cv_ld_version_script_option = yes &&
 test $enable_versioning = yes; then
VERSIONING=yes
cat >>confdefs.h <<\_ACEOF
#define DO_VERSIONING 1
_ACEOF

else
VERSIONING=no
fi

It seems you cannot build glibc with versioning turned on and shared-libs enabled. reading through the crosstool-doc I found a SHARED_MODE flag that could be set to "--disable-shared" but unfortunately shared-libs are required for a certain part of glibc:

make[1]: Leaving directory `/home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/glibc-2.3.6'

+ make install_root=/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-750-linux-gnu/powerpc-750-linux-gnu prefix= install-lib-all install-headers
make -r PARALLELMFLAGS="" CVSOPTS="" -C /home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/glibc-2.3.6 objdir=`pwd` install-lib-all
make[1]: Entering directory `/home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/glibc-2.3.6'


make[1]: *** No rule to make target `/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-750-linux-gnu/powerpc-750-linux-gnu/lib/libc.so', needed by `install-lib-all'. Stop.
make[1]: Leaving directory `/home/clauer/crosstool-0.43/build/powerpc-750-linux-gnu/gcc-4.1.0-glibc-2.3.6/glibc-2.3.6'


make: *** [install-lib-all] Error 2


The big question is: How do I build the glibc-2.3.6 correctly without versioning? Is this really a glibc/gnu issue or am I doing s.th. wrong?


Thanks heaps :)
Chris

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]