OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio

IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Linker Problem, it does not link with --no_undefined
ztep
post May 23 2005, 11:29 PM
Post #1





Group: Members
Posts: 80
Joined: 30-March 05
Member No.: 6,751



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.
Go to the top of the page
 
+Quote Post
lardman
post May 24 2005, 01:28 AM
Post #2





Group: Members
Posts: 4,515
Joined: 25-October 03
From: Bath, UK
Member No.: 464



From a quick google this looks like C++ name mangling. Do you need to link in something else for C++?


Si
Go to the top of the page
 
+Quote Post
ztep
post May 24 2005, 01:39 AM
Post #3





Group: Members
Posts: 80
Joined: 30-March 05
Member No.: 6,751



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.
Go to the top of the page
 
+Quote Post
ztep
post Jun 9 2005, 06:24 AM
Post #4





Group: Members
Posts: 80
Joined: 30-March 05
Member No.: 6,751



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?
Go to the top of the page
 
+Quote Post
lardman
post Jun 10 2005, 12:54 AM
Post #5





Group: Members
Posts: 4,515
Joined: 25-October 03
From: Bath, UK
Member No.: 464



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


Si
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th June 2013 - 01:42 AM