Building with MinGW



Hi,

I updated to perl 5.10.0 without problems (only one test fails) and went
through compiling and installing Glib, Gtk2, and Cairo. I've reported
about these things before, but let's look at it again a bit. I'd love to
get these modules installed with cpan as many modules do even in MinGW.
I'm using GTK+ 2.10.11 development version from
http://gladewin32.sourceforge.net.
Currently cpan downloads Glib-1.164, Gtk2-1.164 and Cairo-1.045.

Compile and link issues:

1. gladewin32 gives me link libraries with extension .dll.a, which
causes a small problem. I need to prepend ".dll" to all libraries that I
use in "set_libs" in Makefile.PL

2. I seem to need similar link libraries of Glib.dll etc and they are
not automatically created. I need to add a line to $(INST_DYNAMIC): in
Makefiles, for example for Glib this works:

$(LD) -o Glib.dll $(LDDLFLAGS) $(LDFROM)
-Wl,-out-implib,blib/arch/auto/Glib/Glib.dll.a $(EXPORT_LIST)
$(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) dll.exp

3. I need to tell to Gtk2 Makefile to use these link libraries by adding
Glib.dll.a and Cairo.dll.a with full paths to EXTRALIBS  and LDLOADLIBS
in Gtk2 Makefile

Test issues:

Glib tests hang in 9.t and fail 64bit:

#          got: '-2147483648'
#     expected: '-9223372036854775807'

also filename tests fail:

#          got: 'C:\.cpan\build\Glib-1.164-ysc5kM\test'
#     expected: 'C:/.cpan/build/Glib-1.164-ysc5kM/test'

Cairo tests pass (no more threads related problems as with perl 5.8 :),
only libpng complains:

t/CairoSurface....ok 1/64libpng error: Write Error
libpng error: Write Error
libpng error: Read Error

Gtk2 tests hang in Gdk.t and GdkDnd.t, failures are attached.

Despite these I've been succesfully using Gtk2 with MinGW for a long time.

Cheers,

Ari

The Gtk2 test log (only NOKs)
t/GdkDisplay.......................Use of uninitialized value in
subroutine entry at t/GdkDisplay.t line 9.

#   Failed test 'The object isa Gtk2::Gdk::Display'
#   at t/GdkDisplay.t line 10.
#     The object isn't defined
Can't call method "get_name" on an undefined value at t/GdkDisplay.t
line 11.

t/GdkPixbuf........................
#   Failed test 'The object isa Gtk2::Gdk::Bitmap'
#   at t/GdkPixbuf.t line 364.
#     The object isn't defined

#   Failed test 'The object isa Gtk2::Gdk::Bitmap'
#   at t/GdkPixbuf.t line 373.
#     The object isn't defined

t/GdkProperty......................Gdk-CRITICAL **: gdk_property_change:
assertion `type != GDK_TARGET_STRING' failed at t/GdkProperty.t line 29.
Gdk-CRITICAL **: gdk_property_change: assertion `type !=
GDK_TARGET_STRING' failed at t/GdkProperty.t line 30.
Gdk-WARNING **: gdk_property_change: General case not implemented at
t/GdkProperty.t line 31.
Gdk-WARNING **: gdk_property_change: General case not implemented at
t/GdkProperty.t line 32.
Gdk-WARNING **: gdk_property_get: Not implemented at t/GdkProperty.t
line 36.
Can't call method "name" on an undefined value at t/GdkProperty.t line 37.
# Looks like your test died just after 11.

t/GdkSelection.....................Can't locate object method "get_xid"
via package "Gtk2::Gdk::Window" at t/GdkSelection.t line 47.
# Looks like your test died just after 20.

t/GdkVisual........................Use of uninitialized value in
subroutine entry at t/GdkVisual.t line 22.
Use of uninitialized value in subroutine entry at t/GdkVisual.t line 22.
FATAL: invalid enum GdkVisualType value , expecting: static-gray /
GDK_VISUAL_STATIC_GRAY, grayscale / GDK_VISUAL_GRAYSCALE, static-color /
GDK_VISUAL_STATIC_COLOR, pseudo-color / GDK_VISUAL_PSEUDO_COLOR,
true-color / GDK_VISUAL_TRUE_COLOR, direct-color /
GDK_VISUAL_DIRECT_COLOR at t/GdkVisual.t line 22.
# Looks like your test died just after 8.

t/GdkWindow........................
#   Failed test at t/GdkWindow.t line 63.
#     Structures begin differing at:
#          $got->[0] = Does not exist
#     $expected->[0] = 'withdrawn'

#   Failed test at t/GdkWindow.t line 65.
#     Structures begin differing at:
#          $got->[0] = '14'
#     $expected->[0] = '10'
Gdk-WARNING **: gdk_window_set_override_redirect not implemented at
t/GdkWindow.t line 177.
Gdk-WARNING **: gdk_window_set_group not implemented at t/GdkWindow.t
line 265.

t/GtkFontSelection.................
#   Failed test at t/GtkFontSelection.t line 25.
#          got: 'albertus 12'
#     expected: 'sans 12'

t/GtkImage.........................
#   Failed test 'new_from_pixmap get_pixbuf mask isa Gtk2::Gdk::Bitmap'
#   at t/GtkImage.t line 102.
#     new_from_pixmap get_pixbuf mask isn't defined

#   Failed test 'set_from_pixmap get_pixbuf mask isa Gtk2::Gdk::Bitmap'
#   at t/GtkImage.t line 138.
#     set_from_pixmap get_pixbuf mask isn't defined

t/GtkStatusIcon....................
#   Failed test at t/GtkStatusIcon.t line 27.
#          got: '1'
#     expected: ''

t/GtkTextView......................Use of uninitialized value $this in
pattern match (m//) at t/GtkTextView.t line 134.

#   Failed test 'trailing'
#   at t/GtkTextView.t line 134.
#                   undef
#     doesn't match '(?-xism:^\d+$)'

t/GtkTreeSelection.................
#   Failed test 'The object isa Gtk2::ListStore'
#   at t/GtkTreeSelection.t line 45.
#     The object isn't a 'Gtk2::ListStore' it's a 'Gtk2::TreeIter'

#   Failed test 'The object isa Gtk2::TreeIter'
#   at t/GtkTreeSelection.t line 46.
#     The object isn't defined
Can't locate object method "get" via package "Gtk2::TreeIter" at
t/GtkTreeSelection.t line 48.

t/GtkTreeView......................Gtk-CRITICAL **:
_gtk_tree_view_find_path: assertion `node != NULL' failed at
t/GtkTreeView.t line 365.
Gtk-CRITICAL **: _gtk_tree_view_find_path: assertion `node != NULL'
failed at t/GtkTreeView.t line 365.

#   Failed test 'get_path_at_pos, col isa Gtk2::TreeViewColumn'
#   at t/GtkTreeView.t line 525.
#     get_path_at_pos, col isn't defined
Use of uninitialized value $res[2] in numeric eq (==) at t/GtkTreeView.t
line 526.
Use of uninitialized value $res[3] in numeric eq (==) at t/GtkTreeView.t
line 526.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]