I don't know if this helps, but I apply some workaround patches to
PAR::Heavy to get my Gtk2 based application to work.
See https://github.com/shawnlaffan/biodiverse/tree/master/etc/pp
This is not a generic solution, but the resulting PAR exe files do work.
When distributed, the gtk directory is added with the par exe file, and
its bin directory is added to the path at startup using a BEGIN block so
that libglib-2.0-0.dll etc are found. (I have not yet got around to
packing them using pp --link).
Shawn.
On 14/06/2016 07:46, Roderich Schupp wrote:
On Mon, Jun 13, 2016 at 11:31 PM, Zakariyya Mughal
<zaki.mug...@gmail.com <mailto:zaki.mug...@gmail.com>> wrote:
$ objdump.exe -ax
"C:\msys64\tmp\par-7a616b69\cache-b75d584224b1a1061779c0bb91d380c83ae4a68e\79d2d23b.dll"
| grep "DLL Name"
...
DLL Name: Cairo.dll
DLL Name: Glib.dll
I see that the same problem from the mailing list thread is still
present where the DLL references other DLLs that may have already been
loaded.
Correct.
If the problem is that a DLL is being loaded twice (with a different
name), then why not keep a package variable to cache this and skip the
step if it has already been loaded?
Because we don't know that this has happened - one copy is loaded by
the OS without any intervention from Perl. Sorry, it looks like
there's still no solution for this problem [1].
Cheers, Roderich
[1] ... except teaching PAR::Packer to stop extracting and loading
"glue" DLLs with mangled names.