On 5/7/2007 11:35 AM, Roderich Schupp wrote:
On 5/7/07, Duncan Murdoch <[EMAIL PROTECTED]> wrote:
I have a Perl script in scripts.par being run by parl.  The script calls
make, and make in turn calls parl to run a different script in the same
scripts.par.

Things work fine if I manually execute the call to make, but when nested
as above, I get this error:
Is this something I'm not allowed to do, i.e. will the two instances of
parl working on the same scripts.par file conflict with each other?

Let's say it's a bug in PAR::Packer. I was able to reproduce this on Linux
(so it's not specific to Windows) with the following sequence:

$ pp -p -o foo.par -e 'print "foo!\n"'
$ pp -p -o bar.par -e 'print "bar\n"; system "parl foo.par"'
$ parl bar.par
bar!
foo!

But when I rename my installed PAR.pm os that it can't be found I get

$ parl bar.par
bar!
Can't locate PAR.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl /usr/local/lib/perl/5.8.7 .) at -e line 882.

Here's a workaround: invoke the inner parl with its full pathname, i.e. in
my Linux environment

$ pp -p -o bar.par -e 'print "bar\n"; system "/usr/bin/parl foo.par"'

Thanks!

I think we should be able to do that fairly easily.

Duncan Murdoch

Reply via email to