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
-
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.
-
From a quick google this looks like C++ name mangling. Do you need to link in something else for C++?
Si
-
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.
-
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?
-
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