Brian Ingerson [29/10/02 18:53 -0800]:
> > I am trying to use Inline from within an embedded perl interpreter. The
> > problem I'm running into is that any method defined as a C function will
> > not cause the .so to be loaded, giving me this type of error:
> > 
> > Can't locate object method "new" via package "Yax" (perhaps you forgot to
> > load "Yax"?)
> > 
> > The exact same code will run fine when run from a standalone perl script.

This seems like a problem described in the "perlembed" manpage:

       Using Perl modules, which themselves use C libraries, from
       your C program

       If you've played with the examples above and tried to
       embed a script that use()s a Perl module (such as Socket)
       which itself uses a C or C++ library, this probably hap­
       pened:

        Can't load module Socket, dynamic loading not available in this perl.
         (You may need to build a new perl executable which either supports
         dynamic loading or has the Socket module statically linked into it.)

Are you calling perl_parse() with an xs_init function? If you don't know what
I'm talking about, please read the "perlembed" manpage. If that isn't the
problem, then it's certainly possible Inline is getting confused -- you might
be the first to try running Inline from an embedded interpreter.

[Actually, does mod_perl count as an embedded perl interpreter? Because I'm
pretty sure Inline has been used in that context before.]

Later,
Neil

Reply via email to