Roderich Schupp schrieb:
I just tried your example and - contrary to my reading of the documentation
for pp - it created a standalone script _including all core modules_.
That won't work, because some core modules (e.g. Cwd) consist of
Perl code + shared library which is of course architecture (ie. 64 vs 32)
dependent. The pp doc says:

-B, --bundle
   Bundle core modules in the resulting package. This option is
enabled by default, except when -p or -P is specified.

But it seems to be in effect even when using -P. Unfortunately there's
no --no-bundle...
OK, the following patch to PAR::Packer seems to fix it.

Cheers, Roderich

--- /usr/share/perl5/PAR/Packer.pm.orig 2007-04-12 11:56:00.000000000 +0200
+++ /usr/share/perl5/PAR/Packer.pm      2007-04-12 11:58:09.000000000 +0200
@@ -1367,8 +1367,11 @@
    my $output   = $self->{output};
    my $par_file = $self->{par_file};

-    my @args = ('-B', "-O$output", $par_file);
+    my @args = ("-O$output", $par_file);
    unshift @args, '-q' unless $opt->{v} > 0;
+    if ($opt->{B}) {
+        unshift @args, "-B";
+    }
    if ($opt->{L}) {
        unshift @args, "-L".$opt->{L};
    }

Apart from the problems wrt. including PAR and its dependencies, I suppose this patch is correct. Applied to trunk.

Thanks!

Steffen

Reply via email to