Date: Sat, 12 Jul 2003 15:14:03 +0200 From: Pascal Pype <pascal.pype@skynet.be> To: freebsd-gnome@freebsd.org Subject: Gtk , gdk and glib used with free pascal. Message-ID: <3F10099B.7020302@skynet.be>
next in thread | raw e-mail | index | archive | help
Hello , There seem to be some problems about the usage of the free pascal compiler for freeBSD. An application that once was written for windows 3.1 in turbo pascal needs to be ported to freeBSD and linux. In order to be able to keep the recoding effort to a minimal level , programming tools were sought that are compatible to turbo pascal as much as possible. Free pascal was the answer to that. I choose to use free pascal 1.0.6. Within free pascal gtk-gnome is highly supported , so gtk-gnome will serve as toolkit for porting the gui part of the application. On slackware linux there were no problems about using the gtk-gnome API at all. On freeBSD however there are several problems about using the gtk toolkit via the free pascal bindings to gtk. I use gnome 1-2a on my freeBSD machine and my slackware machine runs gnome 1.4 upon slackware version 8.0. The version of freeBSD I use is 4.8. The first problem arose when free pascal tried to link the application. It didn't find the necessary libraries. So I made the following symlinks: /usr/local/lib/libgmodule.a -> /usr/local/lib/libgmodule12.a /usr/local/lib/libglib.a -> /usr/local/lib/libglib12.a /usr/X11R6/lib/libgdk.a -> /usr/X11R6/lib/libgdk12.a /usr/X11R6/lib/libgtk.a -> /usr/X11R6/lib/libgtk12.a Then those libraries were found , but the linker issued a whole bunch of linker errors: Linking coll /usr/X11R6/lib//libgtk.a(gtkcolorsel.o): In function `gtk_color_selection_init': gtkcolorsel.o(.text+0x738): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtkcolorsel.o): In function `gtk_color_selection_dialog_init': gtkcolorsel.o(.text+0x3687): undefined reference to `libintl_dgettext' gtkcolorsel.o(.text+0x3703): undefined reference to `libintl_dgettext' gtkcolorsel.o(.text+0x3771): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtkfilesel.o): In function `gtk_file_selection_init': gtkfilesel.o(.text+0x19f): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtkfilesel.o)(.text+0x298): more undefined references to `libintl_dgettext' follow /usr/X11R6/lib//libgtk.a(gtkmain.o): In function `gtk_init_check': gtkmain.o(.text+0x4b5): undefined reference to `libintl_bindtextdomain' /usr/X11R6/lib//libgtk.a(gtknotebook.o): In function `gtk_notebook_update_labels': gtknotebook.o(.text+0x3914): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtknotebook.o): In function `gtk_notebook_set_tab_label': gtknotebook.o(.text+0x7672): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtkrc.o): In function `gtk_rc_find_pixmap_in_path': gtkrc.o(.text+0x235e): undefined reference to `libintl_dgettext' gtkrc.o(.text+0x2383): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtkthemes.o): In function `gtk_theme_engine_get': gtkthemes.o(.text+0x86): undefined reference to `libintl_dgettext' /usr/X11R6/lib//libgtk.a(gtktipsquery.o)(.text+0x1db): more undefined references to `libintl_dgettext' follow coll.pas(19) Error: Error while linking Closing script ppas.sh So one feels the need to add the linker option "-lintl" to resolve this one. And yes , all linker errors are gone afterwards! But when one tries to run the application in gnome under the pixmap theme one receives a true shopping-list of gtk errors and warnings : gdk_imlib ERROR: gdk has not connected to the display Gdk-CRITICAL **: file gdkwindow.c: line 1406 (gdk_window_get_visual): assertion `window != NULL' failed. Gtk-CRITICAL **: file gtkwidget.c: line 4258 (gtk_widget_push_visual): assertion `visual != NULL' failed. Gtk-CRITICAL **: file gtkwidget.c: line 4242 (gtk_widget_push_colormap): assertion `cmap != NULL' failed. Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 40 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button4.png" line 58 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button1.png" line 67 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button_def.png" line 89 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button1.png" line 99 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button2.png" line 109 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button4.png" line 119 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button6.png" line 129 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 139 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button4.png" line 149 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button3.png" line 159 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button8.png" line 186 Gtk-WARNING **: Unable to locate image file in pixmap_path: "extension_top1.png" line 194 Gtk-WARNING **: Unable to locate image file in pixmap_path: "extension_bottom1.png" line 203 Gtk-WARNING **: Unable to locate image file in pixmap_path: "extension_left1.png" line 212 Gtk-WARNING **: Unable to locate image file in pixmap_path: "extension_right1.png" line 221 Gtk-WARNING **: Unable to locate image file in pixmap_path: "notebook1.png" line 233 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_top.png" line 236 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_top_start.png" line 238 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_top_end.png" line 240 Gtk-WARNING **: Unable to locate image file in pixmap_path: "notebook1.png" line 248 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_bottom.png" line 251 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_bottom_start.png" line 253 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_bottom_end.png" line 255 Gtk-WARNING **: Unable to locate image file in pixmap_path: "notebook1.png" line 263 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_left.png" line 266 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_left_start.png" line 268 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_left_end.png" line 270 Gtk-WARNING **: Unable to locate image file in pixmap_path: "notebook1.png" line 278 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_right.png" line 281 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_right_start.png" line 283 Gtk-WARNING **: Unable to locate image file in pixmap_path: "gap_right_end.png" line 285 Gtk-WARNING **: Unable to locate image file in pixmap_path: "notebook1.png" line 296 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 313 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button7.png" line 329 Gtk-WARNING **: Unable to locate image file in pixmap_path: "menubar.png" line 345 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button2.png" line 362 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button1.png" line 370 Gtk-WARNING **: Unable to locate image file in pixmap_path: "progressbar.png" line 388 Gtk-WARNING **: Unable to locate image file in pixmap_path: "ruler_vert.png" line 405 Gtk-WARNING **: Unable to locate image file in pixmap_path: "ruler_horiz.png" line 414 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 431 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button2.png" line 439 Gtk-WARNING **: Unable to locate image file in pixmap_path: "brown_bg1.png" line 456 Gtk-WARNING **: Unable to locate image file in pixmap_path: "curve_bg1.png" line 472 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_horiz1.png" line 503 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_thumb2.png" line 506 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_horiz1.png" line 517 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_thumb.png" line 520 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_vert1.png" line 531 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_thumb2.png" line 534 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_vert1.png" line 544 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_thumb.png" line 547 Gtk-WARNING **: Unable to locate image file in pixmap_path: "trough.png" line 560 Gtk-WARNING **: Unable to locate image file in pixmap_path: "ruler_horiz.png" line 572 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 584 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 596 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 609 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button2.png" line 618 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 628 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button2.png" line 637 Gtk-WARNING **: Unable to locate image file in pixmap_path: "brown_bg2.png" line 646 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_up1.png" line 657 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_up2.png" line 666 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_up3.png" line 675 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_down1.png" line 685 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_down2.png" line 694 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_down3.png" line 703 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_left1.png" line 713 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_left2.png" line 722 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_left3.png" line 731 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_right1.png" line 741 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_right2.png" line 750 Gtk-WARNING **: Unable to locate image file in pixmap_path: "arrow_right3.png" line 759 Gtk-WARNING **: Unable to locate image file in pixmap_path: "hline.png" line 770 Gtk-WARNING **: Unable to locate image file in pixmap_path: "vline.png" line 778 Gtk-WARNING **: Unable to locate image file in pixmap_path: "check1.png" line 790 Gtk-WARNING **: Unable to locate image file in pixmap_path: "check2.png" line 798 Gtk-WARNING **: Unable to locate image file in pixmap_path: "option1.png" line 809 Gtk-WARNING **: Unable to locate image file in pixmap_path: "option2.png" line 818 Gtk-WARNING **: Unable to locate image file in pixmap_path: "option_menu.png" line 829 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_horiz1.png" line 839 Gtk-WARNING **: Unable to locate image file in pixmap_path: "scrollbar_vert1.png" line 848 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button5.png" line 860 Gtk-WARNING **: Unable to locate image file in pixmap_path: "handle_vert_thumb.png" line 863 Gtk-WARNING **: Unable to locate image file in pixmap_path: "entry2.png" line 877 Gtk-WARNING **: Unable to locate image file in pixmap_path: "entry1.png" line 885 Gtk-WARNING **: Unable to locate image file in pixmap_path: "focus.png" line 895 Gtk-WARNING **: Unable to locate image file in pixmap_path: "shadow2.png" line 907 Gtk-WARNING **: Unable to locate image file in pixmap_path: "shadow1.png" line 916 Gtk-WARNING **: Unable to locate image file in pixmap_path: "frame1.png" line 925 Gtk-WARNING **: Unable to locate image file in pixmap_path: "frame2.png" line 934 Gtk-WARNING **: Unable to locate image file in pixmap_path: "frame_gap.png" line 945 Gtk-WARNING **: Unable to locate image file in pixmap_path: "frame_gap_top_start.png" line 948 Gtk-WARNING **: Unable to locate image file in pixmap_path: "frame_gap_top_end.png" line 950 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button9.png" line 962 Gtk-WARNING **: Unable to locate image file in pixmap_path: "button7.png" line 970 When one changes the theme to the default theme , then suddenly whoosh , those pesky gtk warnings are gone ... And yes , those images are correctly located according to my "/usr/X11R6/share/themes/Pixmap/gtk/gtkrc" ! If there is no easy solution to that probem , can someone please tell me how to invoke that single app in such a way that none of the gtk resource files are taken into account ? So I can continue to use that app in combination with the pixmap theme that I simply find amazingly beautiful. My kind regards , Pype Pascal.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F10099B.7020302>