> From: Roderich Schupp > On Thu, Feb 16, 2012 at 09:18, Konovalov, Vadim wrote: > > I am not fully agree here. > > > > PAR is well recognized technique, and if you have a fix to > CPAN module > > that allows PAR usage to the said module, the chances to > get the module > > updated are high. > > As the current PAR maintainer I beg to differ: PAR is a gross hack.
I see the way to resolve who is correct here - try it. Come with a working patch to the CPAN module author and see what happens next. I can put my efforts to verbally convince them to apply your patch, given that your patch improves PAR situation. > >> This dual DLL loading - due to some Perl module > misinterprets whether > > XXX.dll already loaded - should be fixed. > > "Perl" doesn't misinterpret anything here. why do you think so? Rather, what do you mean by ""Perl" doesn't misinterpret anything here"? It could be that some module XXX has logic: if (something_was_already_loaded()) { # skip this and that ... } > Do you understand how DynaLoader and DLL loading on the OS > level works? I dealt with DynaLoader several times I happen update Dynaloader somehow in long past to fix something that I can not remember right now, yet I proposed some patches to p5p, which are applied to perl core, but some of them are far from perfect, unfortunately. yet, I have my own stripped+modified version of dynaloader in my dark corner to bootstrap my own Perl+tcl/tk+win32 technique, alternate to PAR. > > > IOW - how exactly it computed that "Cairo.dll" is already loaded? > > I don't know - it's an educated guess. I'm not too familiar > with the internals > how Windows loads DLLs I have another educated guess: DynaLoader.pm tracks loaded DLLs in @dl_shared_objects file: push(@dl_shared_objects, $file); # record files loaded See if Pango / Gtk2 munges with it. Vadim.