[rt.cpan.org #110480] Unpacking exe: File exists

[email protected] ("Roderich Schupp via RT")
Newsgroups perl.par
Message-ID <[email protected]>
Thu Jan 07 06:32:15 2016: Request 110480 was acted upon.
Transaction: Correspondence added by RSCHUPP
       Queue: PAR-Packer
     Subject: Unpacking exe: File exists
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: [email protected]
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=110480 >


On 2016-01-07 04:49:47, [email protected] wrote:
> Best wishes for the new year. Sorry for the delay - was on vacation ;-

Best wishes to you, too.

> I filtered the output after using -vv option for "lib/version":
> ------
> D:/Usr/programme/Strawberry/perl/lib/unicore/version as lib/version

As I suspected: lib/version is a copy of lib/unicore/version, though I still
have no clue why it is packed. This file is not Perl code, hence it can't have
been "require"d or "use"d. Neither is a file "version" explicitly added
via a rule in Module::ScanDeps. The only reason why it is packed at all
is a rule that says "include all files below .../unicore (where the latter
is located via @INC)". But that can only account for files named 
"lib/unicore/..." in the exe...

Are there any other unicore files duplicated in the exe, e.g.
lib/unicore/NamedSequences.txt is also packed as lib/NamedSequences.txt?

Anyway, some remarks about your command line:

> I used the following command line:
> ----
> pp --add=Win32::AbsPath 
> --add=Params::Validate::XS

Shouldn't be necessary, "use Params::Valdidate;" includes that automatically.

> --add=Log::Log4perl::Filter::LevelRange
> --add=Log::Log4perl::Appender::File 
> --add=Log::Dispatch::Screen

Shouldn't be necessary, "use Log::Log4perl;" includes them automatically.

> --add=List::MoreUtils::PP

Arggh, another one of those stupid "we have both PP _and_ XS modules".
I'll add a rule to Module::ScanDeps.

> --link=C:\Perl\Perl\lib\auto\socket\Socket.dll

That seems totally wrong for several reasons:
- it's not in you Perl installation path (as shown in other messages)
- it has the wrong name, "glue" DLLs on Strawberry Perl for Windows
  are named *.xs.dll not just plain *.dll

> Adding the '-x' option (without '--add=Unicode::UCD'), shows that the
> compilation process misses some of my modules during compilation - so
> the exe was incomplete. Those modules have been missing indeed.
> Providing those modules and recompiling again, the compilation was
> successful and the generated exe worked fine.

If -x works for you, there's not need to go back and add stuff manually.

> BTW: When will -u Option be available? 

Will be in the next release of PAR::Packer.

Cheers, Roderich
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.