Bug #52918 Build fails when linker use --no-copy-dt-needed-entries
Submitted: 17 Apr 2010 15:22 Modified: 23 Apr 2010 13:08
Reporter: Remi Collet (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:5.2.19 OS:Linux (Fedora 13)
Assigned to: Alfredo Kojima CPU Architecture:Any

[17 Apr 2010 15:22] Remi Collet
Description:
By default on Fedora 13, linker use the  --no-copy-dt-needed-entries which result in a build failure :

libtool: link: g++ -rdynamic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wextra -Wall -Wno-unused -Wno-deprecated -o .libs/mysql-workbench-bin main.o program.o main_form.o overview_panel.o model_panel.o model_diagram_panel.o menu_manager.o catalog_tree.o layer_tree.o properties_tree.o history_tree.o navigator_box.o info_box.o documentation_box.o user_types_box.o find_panel.o diagram_size_form.o validation_panel.o sqlide_form.o sql_snippets_view.o query_sidebar.o sqlide_main.o new_server_instance_wizard.o server_instance_editor.o -pthread -pthread /usr/lib64/libpython2.6.so -pthread -Wl,--export-dynamic -rdynamic  ../../../library/forms/.libs/libmforms.so ../../../frontend/linux/linux_utilities/.libs/liblinux_utilities.so /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/frontend/linux/sqlide/.libs/libsqlide.so ../../../frontend/linux/sqlide/.libs/libsqlide.so /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/ext/scintilla/gtk/.libs/libwbscintilla.so ../../../backend/wbprivate/libwbprivate.a ../../../backend/wbpublic/.libs/libwbpublic.so /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/library/canvas/src/.libs/libmdcanvas.so /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/library/forms/.libs/libmforms.so -lgnome-keyring /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/library/dbc/.libs/libcdbc.so /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/library/vsqlite++/src/sqlite/.libs/libvsqlitepp.so ../../../library/base/src/.libs/libwbbase.so ../../../library/grt/src/.libs/libgrt.so /home/rpmbuild/BUILD/mysql-workbench-oss-5.2.19/library/base/src/.libs/libwbbase.so ../../../library/dbc/.libs/libcdbc.so ../../../library/canvas/src/.libs/libmdcanvasgtk.so ../../../library/canvas/src/.libs/libmdcanvas.so -lctemplate -lglade-2.0 -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lgtk-x11-2.0 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lORBit-2 -lgobject-2.0 -llua -ldl -luuid -lpcre -lgthread-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -lxml2 -lcairo -lGL -lzip -L/usr/lib64/mysql -lmysqlclient_r -lz -lcrypt -lnsl -lm -lpthread -lssl -lcrypto -lsqlite3 -pthread -Wl,-rpath -Wl,/usr/lib64/mysql-workbench
/usr/bin/ld: main.o: undefined reference to symbol 'XSynchronize'
/usr/bin/ld: note: 'XSynchronize' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
/usr/lib64/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

How to repeat:
Build on Fedora 13

Suggested fix:
Add -lX11 to linker options solved this issue.

Some information on this change:
http://fedoraproject.org/wiki/UnderstandingDSOLinkChange
[19 Apr 2010 13:30] Alfredo Kojima
Added -lX11 to the linklist of WB binary
[22 Apr 2010 16:28] Johannes Taxacher
fix added to repository
[23 Apr 2010 13:08] Tony Bedford
An entry has been added to the 5.2.20 changelog:

When building MySQL Workbench, the build process failed if the --no-copy-dt-needed-entries linker option was specified (this happens by default when building on Fedora 13).