On Fri, Feb 21, 2003 at 07:43:24PM +0100, Markus Jansen wrote: > I have seen that you have been busy working on PAR ... > however, I found again 2 problems with it, 1 major and 1 minor. > Unfortunately, the major one did not show up earlier because of the minor :-)). > > 1. The major (show stopper) problem: > There exist Perl modules with more than their "generic" > auto/<mod>/<mod>.so library. One example is ClearCase::CtCmd, > which comes with an additional libzuba.so: > > [eedmja_latest_oche149] [EMAIL PROTECTED]: find > /vobs/eccs_dev_perl/perl_for_sixtyfive_characters_max_pathlength/prod/lib/ | > fgrep CtCmd | sed 's,/vobs.*/prod/,<perl_root>/,1' > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/auto/ClearCase/CtCmd > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/auto/ClearCase/CtCmd/.packlist > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/auto/ClearCase/CtCmd/CtCmd.bs > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/auto/ClearCase/CtCmd/CtCmd.so > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/auto/ClearCase/CtCmd/autosplit.ix > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/auto/ClearCase/CtCmd/libzuba.so > <perl_root>/lib/site_perl/5.8.0/sun4-solaris/ClearCase/CtCmd.pm > [eedmja_latest_oche149] [EMAIL PROTECTED]:
I see. A simple workaround is to include *all* files under version/auto/<mod> unconditionally inside .par, by fixing Module::ScanDeps. Does anybody see potential drawbacks with this solution? > 2. The minor problem: > The compiled executable has something like ( CODE <path> <path> ... ) as its > @INC path - I guess the CODE ref is the PAR lookup. > However, problem 1. does not show up if <path> is somehow there, which makes > the executable's behaviour depending on the runtime (Perl) environment. > I think @INC should be set to ( CODE ) in this case. IMHO, the user is free to assume that a standard perl installation must exist -- i.e. the .exe/.par only packs non-core libraries needed by the module. Moreover, because it looks at CODE first, there is no problem that runtime libraries will override the ones in the packed file. Thanks, /Autrijus/
pgp00000.pgp
Description: PGP signature
