Versioned glibc symbols
Robert Schwebel
robert@schwebel.de
Fri Oct 8 15:16:00 GMT 2004
This may be a FAQ but I didn' fid some sane documentation yet: I have
the problem that building applications crashes in the linker stage when
the libc built into the cross compiler is another version than the libc
built for the system I'm working on. For example, busybox crashes here:
[...]
i386-linux-gcc -L/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib --dynamic-linker=/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/ld-linux.so -o busybox -Wl,--start-group ./applets/applets.a ./archival/archival.a ./archival/libunarchive/libunarchive.a ./coreutils/coreutils.a ./console-tools/console-tools.a ./debianutils/debianutils.a ./editors/editors.a ./findutils/findutils.a ./init/init.a ./miscutils/miscutils.a ./modutils/modutils.a ./networking/networking.a ./networking/libiproute/libiproute.a ./networking/udhcp/udhcp.a ./procps/procps.a ./loginutils/loginutils.a ./shell/shell.a ./sysklogd/sysklogd.a ./util-linux/util-linux.a ./libpwdgrp/libpwdgrp.a ./coreutils/libcoreutils/libcoreutils.a ./libbb/libbb.a -lcrypt -Wl,--end-group
/usr/lib/gcc-lib/i486-linux/3.3.4/../../../crt1.o(.text+0xc): In function `_start':
../sysdeps/i386/elf/start.S:92: undefined reference to `__libc_csu_fini'
/usr/lib/gcc-lib/i486-linux/3.3.4/../../../crt1.o(.text+0x11):../sysdeps/i386/elf/start.S:93: undefined reference to `__libc_csu_init'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_lazy@GLIBC_2.1.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_dst_substitute@GLIBC_2.1.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_out_of_memory@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_relocate_object@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_clktck@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `__libc_enable_secure@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_catch_error@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_platformlen@GLIBC_2.1.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol_skip@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_dst_count@GLIBC_2.1.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_initial_searchlist@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_start_profile@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_lookup_symbol@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `__libc_stack_end@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_argv@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_loaded@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_origin_path@GLIBC_2.1.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_check_map_versions@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_map_object@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_main_searchlist@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_debug_mask@GLIBC_2.2.3'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_load_lock@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_profile@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_debug_state@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_init_all_dirs@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_unload_cache@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_signal_error@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_debug_printf@GLIBC_2.2.3'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_init@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_all_dirs@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_map_object_deps@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_nloaded@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_profile_map@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_profile_output@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_pagesize@GLIBC_2.2'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_lookup_symbol_skip@GLIBC_2.0'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_fpu_control@GLIBC_2.1'
/ptx/work/svn-rsc/ptxdist-0.7-trunk/local/i386-linux/lib/libc.so.6: undefined reference to `_dl_global_scope_alloc@GLIBC_2.1'
collect2: ld returned 1 exit status
make[1]: *** [busybox] Error 1
make[1]: Leaving directory `/ptx/work/svn-rsc/ptxdist-0.7-trunk/build/busybox-1.00-rc2'
Now the question is: how is this intended? Is it possible at all to build a
system with another glibc than built into the compiler? Or should that
always be compatible?
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
HornemannstraÃe 12, 31137 Hildesheim, Germany
Phone: +49-5121-28619-0 | Fax: +49-5121-28619-4
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list