On Thu, Feb 16, 2012 at 05:40, Konovalov, Vadim (Vadim)** CTR ** <vadim.konova...@alcatel-lucent.com> wrote: > This "Cairo.dll" - is it part of Perl CPAN module?
Yes. The module is called - surprise, surprise - Cairo. > if YES - then proper CPAN perl module should be updated to improve its > logic (what is it, BTW?) Cairo is not the one referencing symbols from other "glue" DLLs, AFAICT Pango and Gtk2 are the "culprits". There's probably a reason why they do this, but take it to their respective maintainers. But since it works outside of a packed executable, my guess is that they have little inclination to change it. Esp. since it's PAR::Packer that's to blame here - because PAR::Packer literally modifies DynaLoader in order to load DLLs using mangled names. > if - NOT - then the problem could be resolved by adding needed > DLLs into the PAR executable with "-l" - it does not renames them, AFAIK. No, this has been tried before and doesn't work. To repeat myself: you end up with two copies of the same DLL and _both_ get loaded. Then some functions are executed in one copy and some in the other (or perhaps its global variables). This screws up the glib/gobject initialization and leads to immediate program death. Cheers, Roderich