Hi A., A while back I had gotten Inline::Java to work under mod_perl, but in Linux. I have never used mod_perl in Windows.
What Inline::Java version and what options (SHARED_JVM, ...) are you using? Do you know what $fd is supposed to point to when it fails? Patrick On Thu, 2004-04-22 at 11:25, A. Lowe wrote: > I've been trying to do something similar, but with Inline::Java. > > I can get a proxy module to bridge between my perl application to java code > inside a jar, but when I try to deploy this same code as a web application, > it bombs out with errors like: > > [Wed Apr 21 22:17:33 2004] [error] Can't exec JVM: open3: Can't call method > "close" on an undefined value at > c:\usr\local\lib\perl-5.6.1\lib/IPC/Open3.pm line 335. > > the whacky path should give you a clue that this is perl 5.6.1, on windows. > the server is: Apache/1.3.27 (Win32) mod_perl/1.27_01-dev > > What I can't figure is why the same config would work standalone, but not > under mod_perl. > > I've checked everything I can think of, including the environment, PATH and > CLASSPATH, even to the point of debugging inside JVM.pm. > > fwiw, i've taken it to the point in Open3.pm where the line: > > $fd->{tmp_copy} = IO::Handle->new_from_fd($fd->{handle}, $fd->{mode}); > > appears to fail, returning null, errno says $fd is a bad file descriptor. > > now I'm wondering should Inline::Java even be expected to work under > mod_perl? > > thanks, > > A. Lowe > > "Roger Moffatt" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > > Hi > > > > I'm integrating a C API with my mod_perl application which runs using > > Apache::Registry as it is a recent port from a standard CGI environment. > > > > I've got things to work MOST of the time by using the following > > configuration; > > > > use strict; > > use CGI; > > use Crypt::SKey qw(compute_md5); > > > > use Inline ( C=>'/var/www/perl/clipmail.c', > > AUTO_INCLUDE=>'#include "/var/www/perl/API.h"', > > DIRECTORY => '/var/www/perl/_Inline/', > > ENABLE => 'UNTAINT' ); > > > > With all my C code in the clipmail.c file and the _Inline directory > > configured so apache can read and write to it. > > > > My problem is that if I leave the browser for a while and then come back > and > > use it again, I get a server 500 error and looking in my error logs I get > an > > entry as follows NOTE that the _inline directory option listed in the > error > > IS NOT the same as the one I actually am using which starts with a capital > > "I"; > > > > >> ModPerl::Registry Invalid value '/var/www/perl/_inline' for config > option > > DIRECTORY ... blah compilation aborted. > > > > I don't quite understand this, I am specifying which directory to use - > and > > it's not that one!! I'm suspecting this is something to do with > persistance > > and the way mod_perl under Apache::Registry works - I wonder if the error > is > > cropping up when a new child process is spawned and maybe mod_perl is > trying > > to re-compile the C code but for some reason is ignoring the config > > option??? > > > > Any help much appreciated > > > > Regards > > Roger Moffatt > > UK > > > > > > > >