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]

Reply via email to