Thank you Roderich.

Interesting!

a) Instead of *use XX,* I looked the dependencies (the "use YYY" inside the
XX module) to find the origin.
Catched: *Net::Bonjour*

b) I have a simple script that works (without *use Net::Bonjour*) and fails
(with *use Net::Bonjour*)
Then I did what you said, Par-exe both and compare.

The one that fails, it's little bit bigger (as expected) and includes these
extra files that make the exe doesn't work

/lib/auto/Digest:SHA
/lib/auto/Net:DNS
/lib/Digest:SHA.pm
/lib/IO/Socket:INET6.pm
/lib/Net:Bonjour
/lib/Net:Bonjour.pm
/lib/Net:DNS
/lib/Net:DNS.pm

My current pp line is

pp -I lib -l libxml2-2_.dll -l ssleay32_.dll -l zlib1_.dll -M
XML::SAX::PurePerl -M XML::LibXML::SAX -M Net::SSL -M Crypt::Blowfish -0
test.exe test.pl

Although we can reproduce the issue with pp -o sample.exe sample.pl

Thanks

Peco


2014-12-14 19:04 GMT+01:00 Roderich Schupp <[email protected]>:
>
> On Sun, Dec 14, 2014 at 6:30 PM, Juan José 'Peco' San Martín <
> [email protected]> wrote:
>
>> I think PAR (Module-ScanDeps) detects "use XX" pushing the needed modules
>> into the EXE, but why this change the behaviour of the script?
>>
>
> Correct, so the executable should just contain some more modules which
> can't hurt, right?
> But stranger things have happened...
>
> Try to figure out the difference: create your excutable both with and
> without "use XX",
> run "unzip -l your.exe" on them (a pp'ed executable is also a zip file),
> sort the outputs and run diff on them.
>
>
>> It's not sane, but at this point my pp line includes all the DLLs/.a
>> libraries that exist (double checked with the list of Roderich).
>>
>
> Note that adding *.a libraries is useless in this context. And do NOT
> simply add "all DLLs that exist", esp. do NOT add perl520.dll, libgcc*.dll,
> libstdc++*.dll, libwinpthread*.dll.
>
> Cheers, Roderich
>

Reply via email to