Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

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

by Lotus1 (Vicar)
on Feb 13, 2019 at 15:06 UTC ( [id://1229872]=note: print w/replies, xml ) Need Help??


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

Your question is very well stated but I'm curious about one thing you mentioned:

The trick that was working then was to include the above dll and to rename the the Glib, Gtk2, Pango folders in lib/auto to hide them from the search path.
The dll were then taken from the par archive at shlib\MSWin32-x86-multi-thread-64int\ folder and the exe works.

Are you renaming the folders so that you can test that the exe works without them and should work on a different machine where they don't exist?

Replies are listed 'Best First'.
Re^2: On the road again with Gtk2 and PAR::Packer
by frazap (Monk) on Feb 14, 2019 at 06:26 UTC
    Are you renaming the folders so that you can test that the exe works without them and should work on a different machine where they don't exist?

    I did renamed the folders to avoid the problem of mangled dll names made by PAR::Packer that resulted (?) in the error

    GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion `g_t +ype_from_name (name) == 0' failed

    Yes, the exe did worked on other pc without any perl installed

    F.
      I did renamed the folders to avoid the problem of mangled dll names made by PAR::Packer that resulted (?) in the error

      So that's the same error as you're now getting - but last time you were able to work around it, and this time you can't.
      Have I got that right ?

      From your original post:
      objdump -x 778ce824.xs.dll | grep "DLL Name" gives DLL Name: libcairo-2.dll DLL Name: libglib-2.0-0.dll DLL Name: libgobject-2.0-0.dll DLL Name: libpango-1.0-0.dll DLL Name: libpangocairo-1.0-0.dll DLL Name: msvcrt.dll DLL Name: Cairo.xs.dll DLL Name: Glib.xs.dll DLL Name: KERNEL32.dll DLL Name: perl524.dll
      That's the Pango.xs.dll by a different name - and you can see that it cross-references the Cairo and Glib xs.dlls.
      That's the cross-referencing that Roderick said was the cause of the issue (in https://www.mail-archive.com/par@perl.org/msg05011.html).

      If you take the Pango.dll from the older package (ie the one that worked) and "objdump -x" it in the same way, does it also report a dependency on "Cairo.dll" and "Glib.dll" (or "Cairo.xs.dll" and "Glib.xs.dll", as the case may be ) ?
      If so, then that pretty much proves that the cross-referencing is not the issue.
      Else it supports Roderick's view.

      Cheers,
      Rob
        So that's the same error as you're now getting - but last time you were able to work around it, and this time you can't.

        Yes !

        :\docs\perl_dll>objdump -x Pango.dll | grep "DLL Name" DLL Name: Cairo.dll DLL Name: KERNEL32.dll DLL Name: libcairo-2.dll DLL Name: libglib-2.0-0.dll DLL Name: libgobject-2.0-0.dll DLL Name: libpango-1.0-0.dll DLL Name: libpangocairo-1.0-0.dll DLL Name: perl512.dll DLL Name: Glib.dll DLL Name: msvcrt.dll
        So the dependecies are the same.

        Rob, how can you say it proves anything ?

        F

Log In?
Username:
Password:

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

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

    No recent polls found