Gtk , gdk and glib used with free pascal.

Joe Marcus Clarke marcus at marcuscom.com
Sat Jul 12 09:41:20 PDT 2003


On Sat, 2003-07-12 at 09:14, Pascal Pype wrote:
> 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.

You should consider going through /usr/ports/Mk/bsd.gnome.mk to see how
we port GNOME applications to FreeBSD.  Also, the resources at
http://www.freebsd.org/gnome/ might be of some use to you.  You will
have to hack the sources to get your desired results.

Joe

> 
> My kind regards , Pype Pascal.
> 
> _______________________________________________
> freebsd-gnome at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-gnome
> To unsubscribe, send any mail to "freebsd-gnome-unsubscribe at freebsd.org"
-- 
PGP Key : http://www.marcuscom.com/pgp.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-gnome/attachments/20030712/0113c021/attachment.bin


More information about the freebsd-gnome mailing list