Does anyone experience problems when compiling vgui with GTK2?
If VGUI_USE_GTK2 is set to OFF, the problem goes away and I can compile vgui
and all vgui related executables.
This problem only occurs at the linking time. The error is:
/usr/libexec/elf/ld: unrecognized option '--export-dynamic ...' (the
complete error is given below)
The error seems related to how CMake deal with dependencies.
In core/vgui/CMakeCache.txt, there is a line:
TARGET_LINK_LIBRARIES(vgui ${GTK2_LIBRARIES})
that adds GTK2 libs to vgui.
With a closer look into the generated Makefile, it appears that CMake copied
3 instances of ${GTK2_LIBRARIES} onto the command line of vgui.so. The last
instance is followed by ":/usr/local/lib:/usr/X11R6/lib", which caused the
error.
I am not 100% sure it is the cause of the problem. Is anyone willing to give
it a try? Furthermore, if CMake is the one to be blamed, I do not have
enough knowledge on how to fix it.
Platform: FreeBSD
CMake: up-to-date CVS
GTK2: 2.2.1
compiler: GCC 3.3
------------------- DETAILS-------------------------------
The error is:
/usr/libexec/elf/ld: unrecognized option
'--export-dynamic -R/software/atk-1.2.2-0/pkg/lib -L/software/gtkglext-0.7.1
-0/pkg/lib -L/usr/X11R6/lib -L/software/gtk+-2.2.1-0/pkg/lib -L/software/pan
go-1.2.1-0/pkg/lib -L/software/glib-2.2.1-0/pkg/lib -L/software/atk-1.2.2-0/
pkg/lib -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -lXmu -lXt -lSM -lI
CE -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -lXext -lXft -lXrend
er -lfontconfig -lX11 -lfreetype -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1
.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -l
iconv:/usr/local/lib:/usr/X11R6/lib'
Value of GTK2_LIBRARIES in CMake:
-R/software/gtk+-2.2.1-0/pkg/lib -R/usr/X11R6/lib -R/software/pango-1.2.1-0/
pkg/lib -R/software/glib-2.2.1-0/pkg/lib -Wl,--export-dynamic -R/software/at
k-1.2.2-0/pkg/lib -L/software/gtkglext-0.7.1-0/pkg/lib -L/usr/X11R6/lib -L/s
oftware/gtk+-2.2.1-0/pkg/lib -L/software/pango-1.2.1-0/pkg/lib -L/software/g
lib-2.2.1-0/pkg/lib -L/software/atk-1.2.2-0/pkg/lib -lgtkglext-x11-1.0 -lgdk
glext-x11-1.0 -lGLU -lGL -lXmu -lXt -lSM -lICE -lgtk-x11-2.0 -lgdk-x11-2.0 -
lXrandr -lXi -lXinerama -lXext -lXft -lXrender -lfontconfig -lX11 -lfreetype
-latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgo
bject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv
Command line:
/usr/local/bin/g++33 -fPIC -shared -o "`cd ../../lib/;pwd`"/libvgui.so
vgui.o vgui_toolkit.o vgui_tag.o vgui_window.o vgui_adaptor.o vgui_tableau.o
vgui_parent_child_link.o vgui_key.o vgui_button.o vgui_modifier.o
vgui_event.o vgui_command.o vgui_menu.o vgui_popup_params.o vgui_message.o
vgui_observer.o vgui_observable.o vgui_find.o vgui_utils.o vgui_macro.o
vgui_color.o vgui_projection_inspector.o vgui_matrix_state.o
vgui_text_graph.o vgui_camera.o vgui_event_condition.o vgui_rasterpos.o
vgui_pixel.o vgui_section_render.o vgui_section_buffer.o
vgui_texture_hacks.o vgui_cache_wizard.o vgui_image_renderer.o
vgui_vil_image_renderer.o vgui_image_tableau.o vgui_blender_tableau.o
vgui_wrapper_tableau.o vgui_deck_tableau.o vgui_composite_tableau.o
vgui_poly_tableau.o vgui_grid_tableau.o vgui_drag_mixin.o
vgui_active_tableau.o vgui_drag_tableau.o vgui_clear_tableau.o
vgui_debug_tableau.o vgui_quit_tableau.o vgui_tview_launcher_tableau.o
vgui_shell_tableau.o vgui_text_put.o vgui_text_tableau.o
vgui_blackbox_tableau.o vgui_enhance_tableau.o vgui_tview_tableau.o
vgui_function_tableau.o vgui_roi_tableau.o vgui_rubberband_tableau.o
vgui_loader_tableau.o vgui_color_text.o vgui_event_server.o
vgui_error_dialog.o vgui_soview.o vgui_soview2D.o vgui_soview3D.o
vgui_style.o vgui_style_factory.o vgui_displaybase_tableau.o
vgui_displaylist2D_tableau.o vgui_displaylist3D_tableau.o
vgui_easy2D_tableau.o vgui_easy3D_tableau.o vgui_listmanager2D_tableau.o
vgui_viewer2D_tableau.o vgui_viewer3D_tableau.o trackball.o vgui_dialog.o
vgui_dialog_field.o vgui_simple_field.o vgui_string_field.o
vgui_file_field.o vgui_dialog_impl.o vgui_statusbuf.o vgui_statusbar.o
vgui_invert_homg4x4.o vgui_back_project.o vgui_un_project.o
vgui_adaptor_tableau.o vgui_parent_child_link_data.o vgui_adaptor_mixin.o
vgui_overlay_helper.o vgui_multiply_4x4.o vgui_transpose_4x4.o
vgui_draw_line.o vgui_accelerate.o vgui_accelerate_tag.o vgui_glut.o
Templates/vbl_array_2d+vgui_grid_tableau+-grid_data-.o
Templates/vbl_smart_ptr+vgui_command-.o
Templates/vbl_smart_ptr+vgui_tableau-.o
Templates/vcl_algorithm+vgui_rubberband_tableau_sptr-.o
Templates/vcl_algorithm+vgui_style~-.o Templates/vcl_list+vgui_event-.o
Templates/vcl_map+vgui_style~.vgui_soview~-.o
Templates/vcl_vector+vcl_pair+vil1_image.vcl_vector+GLuint-~-~-.o
Templates/vcl_vector+vgui_event-.o
Templates/vcl_vector+vgui_dialog_impl+-element-.o
Templates/vcl_vector+vgui_easy2D_tableau_sptr-.o
Templates/vcl_vector+vgui_image_tableau~-.o
Templates/vcl_vector+vgui_menu_item-.o
Templates/vcl_vector+vgui_observer~-.o
Templates/vcl_vector+vgui_parent_child_link-.o
Templates/vcl_vector+vgui_poly_tableau+-item-.o
Templates/vcl_vector+vgui_rubberband_tableau_sptr-.o
Templates/vcl_vector+vgui_soview2D_lineseg~-.o
Templates/vcl_vector+vgui_soview2D~-.o
Templates/vcl_vector+vgui_soview3D~-.o Templates/vcl_vector+vgui_soview~-.o
Templates/vcl_vector+vgui_style~-.o
Templates/vcl_vector+vgui_tableau_sptr-.o
Templates/vcl_vector+vgui_tableau~-.o Templates/vcl_vector+vgui_toolkit~-.o
Templates/vcl_vector+vgui_tview_tableau+-icon-.o
Templates/vgui_command_simple+vgui_active_tableau-.o
Templates/vgui_command_simple+vgui_adaptor-.o
Templates/vgui_command_simple+vgui_clear_tableau-.o
Templates/vgui_command_simple+vgui_tableau-.o vgui_vrml_draw_visitor.o
vgui_vrml_tableau.o vgui_vrml_texture_map.o
vrml/Templates/vcl_vector+vgui_vrml_tableau_sptr-.o
vrml/Templates/vcl_vector+vgui_vrml_texture_map~-.o vgui_accelerate_x11.o
vgui_glut_adaptor.o vgui_glut_tag.o vgui_glut_popup_impl.o
vgui_glut_window.o vgui_glut_impl.o menu_hack_X11.o
impl/glut/Templates/vcl_vector+vgui_glut_adaptor~-.o
impl/glut/Templates/vcl_vector+vgui_glut_menu_hack+-per_window_record~-.o
vgui_gtk2.o vgui_gtk2_adaptor.o vgui_gtk2_dialog_impl.o
vgui_gtk2_statusbar.o vgui_gtk2_tag.o vgui_gtk2_utils.o vgui_gtk2_window.o
vgui_register_all.o -L"`cd
../../lib;pwd`" -L./\ -R/software/gtk+-2.2.1-0/pkg/lib\ -R/usr/X11R6/lib\ -R
/software/pango-1.2.1-0/pkg/lib\ -R/software/glib-2.2.1-0/pkg/lib\ -Wl,--exp
ort-dynamic\ -R/software/atk-1.2.2-0/pkg/lib\ -L/software/gtkglext-0.7.1-0/p
kg/lib\ -L/usr/X11R6/lib\ -L/software/gtk+-2.2.1-0/pkg/lib\ -L/software/pang
o-1.2.1-0/pkg/lib\ -L/software/glib-2.2.1-0/pkg/lib\ -L/software/atk-1.2.2-0
/pkg/lib\ -lgtkglext-x11-1.0\ -lgdkglext-x11-1.0\ -lGLU\ -lGL\ -lXmu\ -lXt\
-lSM\ -lICE\ -lgtk-x11-2.0\ -lgdk-x11-2.0\ -lXrandr\ -lXi\ -lXinerama\ -lXex
t\ -lXft\ -lXrender\ -lfontconfig\ -lX11\ -lfreetype\ -latk-1.0\ -lgdk_pixbu
f-2.0\ -lm\ -lpangoxft-1.0\ -lpangox-1.0\ -lpango-1.0\ -lgobject-2.0\ -lgmod
ule-2.0\ -lglib-2.0\ -lintl\ -liconv -L/usr/local/lib -L/usr/X11R6/lib -lvnl
_algo -lvnl -lvil1 -lvil -lvgl -lvpl -lvbl -lvul -R/software/gtk+-2.2.1-0/p
kg/lib -R/usr/X11R6/lib -R/software/pango-1.2.1-0/pkg/lib -R/software/glib-2
.2.1-0/pkg/lib -Wl,--export-dynamic -R/software/atk-1.2.2-0/pkg/lib -L/softw
are/gtkglext-0.7.1-0/pkg/lib -L/usr/X11R6/lib -L/software/gtk+-2.2.1-0/pkg/l
ib -L/software/pango-1.2.1-0/pkg/lib -L/software/glib-2.2.1-0/pkg/lib -L/sof
tware/atk-1.2.2-0/pkg/lib -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -
lXmu -lXt -lSM -lICE -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -l
Xext -lXft -lXrender -lfontconfig -lX11 -lfreetype -latk-1.0 -lgdk_pixbuf-2.
0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -l
glib-2.0 -lintl -liconv -lglut -lXmu -lXi -lQv -lGLU -lGL -lSM -lICE -lX11 -
lXext -lSM -lICE -lSM -lICE -lSM -lICE -lX11 -lXext -lX11 -lXext -lX11 -lXex
t -lnetlib -ljpeg -ltiff -lpng -ldcmtk -lz -lvcl -lm -Wl,-rpath,"`cd
../../lib;pwd`":./\ -R/software/gtk+-2.2.1-0/pkg/lib\ -R/usr/X11R6/lib\ -R/s
oftware/pango-1.2.1-0/pkg/lib\ -R/software/glib-2.2.1-0/pkg/lib\ -Wl,--expor
t-dynamic\ -R/software/atk-1.2.2-0/pkg/lib\ -L/software/gtkglext-0.7.1-0/pkg
/lib\ -L/usr/X11R6/lib\ -L/software/gtk+-2.2.1-0/pkg/lib\ -L/software/pango-
1.2.1-0/pkg/lib\ -L/software/glib-2.2.1-0/pkg/lib\ -L/software/atk-1.2.2-0/p
kg/lib\ -lgtkglext-x11-1.0\ -lgdkglext-x11-1.0\ -lGLU\ -lGL\ -lXmu\ -lXt\ -l
SM\ -lICE\ -lgtk-x11-2.0\ -lgdk-x11-2.0\ -lXrandr\ -lXi\ -lXinerama\ -lXext\
-lXft\ -lXrender\ -lfontconfig\ -lX11\ -lfreetype\ -latk-1.0\ -lgdk_pixbuf-
2.0\ -lm\ -lpangoxft-1.0\ -lpangox-1.0\ -lpango-1.0\ -lgobject-2.0\ -lgmodul
e-2.0\ -lglib-2.0\ -lintl\ -liconv:/usr/local/lib:/usr/X11R6/lib -lgcc
|