Subject: pkg/32947: xfce4-session does not compile on Darwin because of unresolved symbols.
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <alex@foxybanana.com>
List: pkgsrc-bugs
Date: 02/28/2006 04:10:00
>Number:         32947
>Category:       pkg
>Synopsis:       xfce4-session does not compile on Darwin because of unresolved symbols.
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 28 04:10:00 +0000 2006
>Originator:     Alexander Botero-Lowry
>Release:        Darwin 8.0.1
>Organization:
>Environment:
Darwin c028h119.dorm.reed.edu 8.0.1 Darwin Kernel Version 8.0.1: Fri Apr 29 12:15:33 PDT 2005; root:xnu-792.obj/RELEASE_PPC Power Macintosh powerpc

>Description:
xfce4-session is not linking against a number of required libraies and thus failing to compile on Darwin. 

gcc -pipe  -o .libs/session_settings.so -bundle  .libs/session_settings_la-sessi
on.o  -L/usr/pkgsrc/x11/xfce4-session/work/.x11-buildlink/lib -L/usr/pkgsrc/x11/
xfce4-session/work/.buildlink/lib /usr/pkgsrc/x11/xfce4-session/work/.buildlink/
lib/libintl.dylib /usr/lib/libiconv.dylib
ld: Undefined symbols:
_g_object_unref
_g_return_if_fail_warning
_g_signal_connect_data
_g_strdup
_g_type_check_instance_cast
_gtk_box_get_type
_gtk_box_pack_start
_gtk_check_button_new_with_label
_gtk_container_get_type
_gtk_container_set_border_width
_gtk_dialog_get_type
_gtk_dialog_new_with_buttons
_gtk_hbox_new
_gtk_image_new_from_pixbuf
_gtk_label_new
_gtk_notebook_append_page
_gtk_notebook_get_type
_gtk_notebook_new
_gtk_object_destroy
_gtk_object_get_type
_gtk_toggle_button_get_active
_gtk_toggle_button_get_type
_gtk_toggle_button_set_active
_gtk_tooltips_new
_gtk_tooltips_set_tip
_gtk_vbox_new
_gtk_widget_destroy
_gtk_widget_set_sensitive
_gtk_widget_show
_gtk_widget_show_all
_gtk_window_get_type
_gtk_window_present
_gtk_window_set_icon
_mcs_plugin_check_version
_xfce_create_header
_xfce_framebox_add
_xfce_framebox_get_type
_xfce_framebox_new
_xfce_gtk_window_center_on_monitor_with_pointer
_xfce_kiosk_free
_xfce_kiosk_new
_xfce_kiosk_query
_xfce_rc_close
_xfce_rc_config_open
_xfce_rc_read_bool_entry
_xfce_rc_set_group
_xfce_rc_write_bool_entry
_xfce_rc_set_group
_xfce_rc_write_bool_entry
_xfce_themed_icon_load
gnumake[3]: *** [session_settings.la] Error 1
gnumake[2]: *** [all-recursive] Error 1
gnumake[1]: *** [all-recursive] Error 1
gnumake: *** [all] Error 2



>How-To-Repeat:
Compile xfce4-session Darwin 8.0.1
>Fix:
A non best practice (and what i've been doing) is to find a line in the Makefile that looks like:

#am__append_1 = \
#       -L/usr/pkg/xorg/lib -L/usr/pkg/lib -lxfcegui4 -lxfce4mcs-manager -lxfce4
mcs-client -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocai
ro-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lxfce4util -lglib-2.0 -l
iconv  


and copying the LDFLAGS into LIBS later in the file. This continues the build, but I guess it should be handled in the automagic stuff instead of done by hand.