Hello,

to pack gtk programs I include dll libraries with -l switch. I would
expect that perl module libraries will be included automatically
(Glib.dll, Gtk2.dll) but I get warnings:

can't find .... Glib.dll

So I include them also with -l switch. After packing they are in
shlib/MSWin32-x86-multi-thread and lib/auto/Glib (for Glib.dll) of
the exe.

Running exe it produces:

GLib-GObject-CRITICAL **: g_object_steal_qdata: assertion `quark > 0'
failed at script/test.pl line 10.
GLib-GObject-CRITICAL **: g_object_set_qdata_full: assertion `quark >
0' failed at script/test.pl line 10.
hello2
Can't locate object method "signal_connect" via package "Gtk2::Window"
at script/test.pl line 13.

Now if I downgrade Module::ScanDeps up to 0.73 the exe runs as expected.

I noticed that there is now no dll e.g. in lib/auto/Glib directory of
the exe program.

Minimum program being packed:

use strict;
use Gtk2;
Gtk2->init;
my $window = Gtk2::Window->new();
$window->signal_connect (destroy => sub { Gtk2->main_quit; });
$window->show_all();
Gtk2->main;

It appears there's something wrong with newer versions (0.74 and up) of
ScanDeps module (or PAR::Packer?) regarding Gtk2 libraries. Could
someone comment?

-- 
Radek

Reply via email to