Neil Gunton wrote:
I am trying out Embperl 2.0 again. It appears (at first glance) to work
with most of existing code, but it will take quite a lot more testing
before I commit it to my production box. The big problem so far is the
startup.pl file. I preload all the html and epl files to maximize shared
memory. This involves traversing the directory tree, calling this on
each file:
Embperl::Execute ({
inputfile => $filename,
import => 0,
path => $path,
escmode => 0,
options => 16});
However this produces the same error for every file:
[14953]ERR: 56: : Unknown Provider epcompile
Apache does appear to complete starting, but I am not sure what state it
is in, with these error messages. It seems to imply that the code is not
being compiled, which obviously would not bode well for it being in
shared memory.
The documentation for Execute appears to not be present under the new
2.0 docs. Has it changed in some way? Am I not supposed to be able to
preload modules under 2.0 any more, or is this a straightforward bug?
The system is Debian Sarge (stable), Perl is "5.8.4 built for
i386-linux-thread-multi" (the one that comes with Sarge), Embperl 2.0rc4
(i.e. freshly downloaded & built from source, all tests passed),
mod_perl 1.29, apache 1.3.33.
Doing some searching around, I just realized that I asked about this way back
in 2002:
http://www.gossamer-threads.com/lists/modperl/embperl/15591
I'm not sure why the thread just petered out. I think it continued to not work, but I honestly can't
remember now. In any case, this "bug" (if it is one) has been around for a while. I have a feeling
that perhaps it's no bug, but rather I am simply calling Execute wrongly for 2.0. Isn't the default
recipe, which I think is 'Embperl', supposed to be implicit? I tried passing in recipe => 'Embperl'
but that made no difference.
I also looked at the $path I am passing in, to make sure it makes sense. I was including all the
parent directories going back up from the file being executed, separated by colons. Also a lib
directory. I thought maybe it is missing some standard path stuff in there, which might be why it's
not finding epcompile any more, so I added @INC on the end of $path, separated by colons. No change.
This does work, btw, in Embperl 1.3.
I am stumped... anybody else tried this? I can't be the only one preloading my code for better
memory sharing.
I've sent three messages now in a row, and no responses. Have I offended the
Embperl gods in some way?
Thanks,
-Neil
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]