OESF Portables Forum

Everything Else => Zaurus - Everything Development => Distros, Development, and Model Specific Forums => Archived Forums => OpenZaurus/Opie/Qtopia => Topic started by: ztep on May 24, 2005, 03:29:14 am

Title: Linker Problem
Post by: ztep on May 24, 2005, 03:29:14 am
Hi,
I'm trying to build rekall for Zaurus, all works fine until the linker is invoked, then it returns with a lot of undefinde symbols, all of them start with __dl_.

If I remove the --no_undefined option, it works but I think that it isn't the solution.

Any help?

Thanks.
Title: Linker Problem
Post by: lardman on May 24, 2005, 05:28:55 am
From a quick google this looks like C++ name mangling. Do you need to link in something else for C++?


Si
Title: Linker Problem
Post by: ztep on May 24, 2005, 05:39:59 am
I think that is a problem with the dynamic linker (ld-linux.so.2) but I don't know how to resolve it.
Tomorrow I will post the detailed error messages.
Title: Linker Problem
Post by: ztep on June 09, 2005, 10:24:08 am
Here is the error:

/usr/src/rekall-2.3.4$ arm-linux-g++ -Wl,--no-undefined --verbose -shared -o ports/qt3/libztrekall_kde.so ports/qt3/tk_dirwatch.os ports/qt3/rk_application.os ports/qt3/rk_box.os ports/qt3/rk_combobox.os ports/qt3/rk_dialog.os ports/qt3/rk_gridbox.os ports/qt3/rk_hbox.os ports/qt3/rk_lineedit.os ports/qt3/rk_listbox.osports/qt3/rk_listview.os ports/qt3/rk_modalfilter.os ports/qt3/rk_progress.os ports/qt3/rk_pushbutton.os ports/qt3/rk_tabwidget.os ports/qt3/rk_textedit.os ports/qt3/rk_vbox.os ports/qt3/tk_action.os ports/qt3/tk_config.os ports/qt3/tk_dialogs.os ports/qt3/tk_filedialog.os ports/qt3/tk_icons.os ports/qt3/tk_lineedit.os ports/qt3/tk_mainwindow.os ports/qt3/tk_menubar.os ports/qt3/tk_part.os ports/qt3/tk_print.os ports/qt3/tk_progress.os ports/qt3/tk_toolbutton.os ports/qt3/tk_xmlguispec.os -L/opt/qte334z/lib -lqte-mt -ldl -lpthread
Reading specs from /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)
 /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/collect2 -shared -dynamic-linker /opt/Embedix/tools/arm-linux/lib/ld-linux.so.2 -X -m armelf_linux -p -o ports/qt3/libztrekall_kde.so /opt/Embedix/tools/arm-linux/lib/crti.o /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/crtbeginS.o -L/opt/qte334z/lib -L/opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2 -L/opt/Embedix/tools/arm-linux/lib --no-undefined ports/qt3/tk_dirwatch.os ports/qt3/rk_application.os ports/qt3/rk_box.os ports/qt3/rk_combobox.os ports/qt3/rk_dialog.os ports/qt3/rk_gridbox.os ports/qt3/rk_hbox.os ports/qt3/rk_lineedit.os ports/qt3/rk_listbox.os ports/qt3/rk_listview.os ports/qt3/rk_modalfilter.os ports/qt3/rk_progress.os ports/qt3/rk_pushbutton.os ports/qt3/rk_tabwidget.os ports/qt3/rk_textedit.os ports/qt3/rk_vbox.os ports/qt3/tk_action.os ports/qt3/tk_config.os ports/qt3/tk_dialogs.os ports/qt3/tk_filedialog.os ports/qt3/tk_icons.os ports/qt3/tk_lineedit.os ports/qt3/tk_mainwindow.os ports/qt3/tk_menubar.os ports/qt3/tk_part.os ports/qt3/tk_print.os ports/qt3/tk_progress.os ports/qt3/tk_toolbutton.os ports/qt3/tk_xmlguispec.os -lqte-mt -ldl -lpthread -lstdc++ -lm -lgcc -lc -lgcc /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/crtendS.o /opt/Embedix/tools/arm-linux/lib/crtn.o
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_lazy@GLIBC_2.1.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_dst_substitute@GLIBC_2.1.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_out_of_memory@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_relocate_object@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_clktck@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `__libc_enable_secure@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_catch_error@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_platformlen@GLIBC_2.1.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol_skip@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_mcount@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_dst_count@GLIBC_2.1.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_initial_searchlist@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_start_profile@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_lookup_symbol@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `__libc_stack_end@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_argv@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_debug_files@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_loaded@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_origin_path@GLIBC_2.1.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_check_map_versions@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_map_object@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_main_searchlist@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_debug_impcalls@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_load_lock@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_profile@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_debug_state@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_init_all_dirs@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_r_debug@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_debug_message@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_unload_cache@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_signal_error@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_init@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_all_dirs@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_map_object_deps@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_nloaded@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_profile_map@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_profile_output@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_pagesize@GLIBC_2.2'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_lookup_symbol_skip@GLIBC_2.0'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_fpu_control@GLIBC_2.1'
/opt/Embedix/tools/arm-linux/lib/libdl.so: undefined reference to `_dl_catch_error'
/opt/Embedix/tools/arm-linux/lib/libc.so.6: undefined reference to `_dl_global_scope_alloc@GLIBC_2.1'
collect2: ld returned 1 exit status

I have been looking using google and I have read that this type of errors are because there is a version conflict between the dynamic linker (ld-linux.so.2) and libc library. But, as you can see using the --verbose option, the dynamic linker used is the one in the Embedix compiler distribution, so it sould be correct.

Anyone knows how to resolve this problem?
Title: Linker Problem
Post by: lardman on June 10, 2005, 04:54:54 am
Quote
the dynamic linker used is the one in the Embedix compiler distribution, so it sould be correct.

No, it won't be correct as the Embedix toolchain uses an older libc than OpenZaurus does.

Why don't you try using the OpenEmbedded/BitBake build system?

http://openembedded.org (http://openembedded.org)


Si