Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: On the road again with Gtk2 and PAR::Packer

by swl (Parson)
on Feb 13, 2019 at 21:17 UTC ( [id://1229887]=note: print w/replies, xml ) Need Help??


in reply to Re: On the road again with Gtk2 and PAR::Packer
in thread On the road again with Gtk2 and PAR::Packer

Edit: Sorry, the files are differently named here, so the first para does not entirely apply here (although the xs.dll files should not need to be packed). My guess is the path.

---

If I understand correctly, the two Gtk2.dll, Glib.dll etc files in this case serve different purposes. One is the actual Gtk2 dll, the other is the xs file. PAR::Packer will pack the xs versions automatically, so they should need to be specified using --link/-l. The others do need to be packed.

I wonder if the issue is some other Gtk2.dll is earlier in the path?

If one uses the PPMs provided by Syphilis then Gtk2.dll is called s1sgtk-win32-2.0-0.dll so there is considerably less chance of ambiguity in the path. That file also lives next to the Gtk2.dll file so is found by the PAR search. (This differs from the other related dlls from that source, which are in the ...\perl\bin folder, which is maybe relevant).

Replies are listed 'Best First'.
Re^3: On the road again with Gtk2 and PAR::Packer
by syphilis (Archbishop) on Feb 14, 2019 at 00:54 UTC
    If I understand correctly, the two Gtk2.dll, Glib.dll etc files in this case serve different purposes. One is the actual Gtk2 dll, the other is the xs file.

    The names of the actual Gtk2 dlls should all begin with "lib" - eg "libglib-2.0-0.dll", "libcairo-2.dll", "libpango-1.0-0.dll",etc. (At least that's how it is with *my* gtk2 installation.)
    I think any files named "Gtk2.dll" and "Glib.dll" would be the ones that were created for the Gtk2 and Glib perl modules.

    PAR::Packer will pack the xs versions automatically

    Ok - to have stated otherwise would be *my* mistake.
    This would then suggest to me that it's unnecessary (and possibly error-prone) to specifically pack any files named "Glib.dll", "Gtk2.dll", "Pango.dll", "Cairo.dll".

    The structure of the ppm packages has changed a bit in recent years.
    Currently, the s1s*.dll files should all be installed into perl/bin. I figure your chances of encountering another dll with the same name is about the same as winning a major lottery without even having a ticket.

    Cheers,
    Rob

      siphylis makes a good point regarding the dll names.

      WRT the PPM structure, and as a side note, the current tarball referred to by the PPM-Sisyphusion-Gtk2_dll ppd has s1sgtk-win32-2-.0-0.dll in arch\auto\Gtk2 and the other DLLs under \script. It seems to work, though, so I see no need to change it.

        the current tarball referred to by the PPM-Sisyphusion-Gtk2_dll ppd has s1sgtk-win32-2-.0-0.dll in arch\auto\Gtk2 and the other DLLs under \script

        I forgot about that.
        In my script that assembles the PPM-Sisyphusion-Gtk2_dll package there's a comment:
        # s1sgtk-win32-2.0-0.dll needs to be in blib/arch/auto/Gtk2 so that th +emes are found.
        There might be other exceptions to the general rule, too.

        Cheers,
        Rob
Re^3: On the road again with Gtk2 and PAR::Packer
by frazap (Monk) on Feb 14, 2019 at 07:32 UTC
    PAR::Packer will pack the xs versions automatically, so they should need to be specified using --link/-l. The others do need to be packed.

    PAR::Packer packed the xs.dll with including lib/auto/Gtk2 ... But with these inclusion, I have the error

    GLib-GObject-CRITICAL. See https://www.mail-archive.com/par@perl.org/msg05011.html

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1229887]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2024-04-19 23:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found