ports/86538: java/eclipse builds with wrong gtk libraries

Mark Hobden markhobden at gmail.com
Sat Sep 24 22:50:19 UTC 2005


>Number:         86538
>Category:       ports
>Synopsis:       java/eclipse builds with wrong gtk libraries
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 24 22:50:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Mark Hobden
>Release:        FreeBSD 6.0-BETA5 i386
>Organization:
>Environment:
System: FreeBSD v25.mclgm.net 6.0-BETA5 FreeBSD 6.0-BETA5 #2: Mon Sep 19 21:24:58 BST 2005 mark at v25.mclgm.net:/usr/obj/usr/src/sys/M3H i386

java/eclipse - eclipse-3.1_2
x11-toolkits/gtk20 - gtk-2.6.10_1
>Description:
As part of the changes on the 8th September 2005 at 18:11 to the java/eclipse port a patch file for
plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h was removed, this file removed the .0
from the end of the gtk libraries it is looking for so they could be found (for example libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so).

When built without the patch any new eclipse users start getting oddly sized windows, dialogs without
text boxes and an empty help->about window. System users who have used eclipse in the past seem to have the old
(working) eclipse files cached in their home directory.

Here are some example pictures of how the dialogs appear:
http://img333.imageshack.us/img333/6540/snapshot19gx.jpg
http://img170.imageshack.us/img170/1601/snapshot28gt.jpg
http://img170.imageshack.us/img170/7968/snapshot34tx.jpg
http://img170.imageshack.us/img170/5931/snapshot41du.jpg

>How-To-Repeat:
Make sure no files exist matching /usr/X11R6/lib/libgtk*.0 they do not for me on a fresh install of FreeBSD 6 beta 5
installing from the packages on the CD.

Upgrade eclipse to the latest version, then start eclipse with the -clean option (so the cached data is wiped clean). 

>Fix:
This patch should restore the patch file that was taken out and the lines that were removed in the Makefile. 
Make sure the manualpatch-plugins-swt-gtk-os_custom.h gets put in the /usr/ports/java/eclipse/files directory.

--- eclipse_gtk.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/java/eclipse.orig/Makefile /usr/ports/java/eclipse/Makefile
--- /usr/ports/java/eclipse.orig/Makefile	Sat Sep 24 22:18:59 2005
+++ /usr/ports/java/eclipse/Makefile	Sat Sep 24 22:22:58 2005
@@ -108,6 +108,8 @@
 	  ${FILESDIR}/manualpatch-plugins-swt-gtk-make_freebsd.mak
 	@${PATCH} ${PATCH_DIST_ARGS} "${SWTGTK}/build.sh" \
 	  ${FILESDIR}/manualpatch-plugins-swt-gtk-build.sh
+	@${PATCH} ${PATCH_DIST_ARGS} "${SWTGTK}/os_custom.h" \
+	  ${FILESDIR}/manualpatch-plugins-swt-gtk-os_custom.h
 
 do-build:
 	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} \
diff -ruN --exclude=CVS /usr/ports/java/eclipse.orig/files/manualpatch-plugins-swt-gtk-os_custom.h /usr/ports/java/eclipse/files/manualpatch-plugins-swt-gtk-os_custom.h
--- /usr/ports/java/eclipse.orig/files/manualpatch-plugins-swt-gtk-os_custom.h	Thu Jan  1 01:00:00 1970
+++ /usr/ports/java/eclipse/files/manualpatch-plugins-swt-gtk-os_custom.h	Sat Sep 24 22:13:52 2005
@@ -0,0 +1,59 @@
+--- plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h.orig	Mon Jun 27 21:54:10 2005
++++ plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h	Thu Jul 14 20:28:19 2005
+@@ -21,31 +21,31 @@
+ #define PTR_sizeof() sizeof(void *)
+ 
+ /* Libraries for dynamic loaded functions */
+-#define gtk_file_chooser_add_filter_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_dialog_new_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_get_current_folder_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_get_filename_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_get_filenames_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_set_current_folder_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_set_current_name_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_set_extra_widget_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_set_filename_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_chooser_set_select_multiple_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_filter_add_pattern_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_filter_new_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_file_filter_set_name_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_tree_selection_get_selected_rows_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_tree_view_column_cell_get_position_LIB "libgtk-x11-2.0.so.0"
+-#define gtk_entry_set_alignment_LIB "libgtk-x11-2.0.so.0"
+-#define gdk_draw_pixbuf_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_screen_get_default_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_screen_get_monitor_at_window_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_screen_get_monitor_geometry_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_screen_get_n_monitors_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_screen_get_number_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_window_set_keep_above_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_window_set_accept_focus_LIB "libgdk-x11-2.0.so.0"
+-#define gdk_x11_screen_get_window_manager_name_LIB "libgdk-x11-2.0.so.0"
++#define gtk_file_chooser_add_filter_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_dialog_new_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_get_current_folder_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_get_filename_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_get_filenames_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_set_current_folder_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_set_current_name_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_set_extra_widget_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_set_filename_LIB "libgtk-x11-2.0.so"
++#define gtk_file_chooser_set_select_multiple_LIB "libgtk-x11-2.0.so"
++#define gtk_file_filter_add_pattern_LIB "libgtk-x11-2.0.so"
++#define gtk_file_filter_new_LIB "libgtk-x11-2.0.so"
++#define gtk_file_filter_set_name_LIB "libgtk-x11-2.0.so"
++#define gtk_tree_selection_get_selected_rows_LIB "libgtk-x11-2.0.so"
++#define gtk_tree_view_column_cell_get_position_LIB "libgtk-x11-2.0.so"
++#define gtk_entry_set_alignment_LIB "libgtk-x11-2.0.so"
++#define gdk_draw_pixbuf_LIB "libgdk-x11-2.0.so"
++#define gdk_screen_get_default_LIB "libgdk-x11-2.0.so"
++#define gdk_screen_get_monitor_at_window_LIB "libgdk-x11-2.0.so"
++#define gdk_screen_get_monitor_geometry_LIB "libgdk-x11-2.0.so"
++#define gdk_screen_get_n_monitors_LIB "libgdk-x11-2.0.so"
++#define gdk_screen_get_number_LIB "libgdk-x11-2.0.so"
++#define gdk_window_set_keep_above_LIB "libgdk-x11-2.0.so"
++#define gdk_window_set_accept_focus_LIB "libgdk-x11-2.0.so"
++#define gdk_x11_screen_get_window_manager_name_LIB "libgdk-x11-2.0.so"
+ 
+ /* Field accessors */
+ #define GTK_ACCEL_LABEL_SET_ACCEL_STRING(arg0, arg1) (arg0)->accel_string = arg1
--- eclipse_gtk.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list