At 3:50 AM -0700 10/16/06, doug brann wrote:

>I don't know if I'm sending this e-mail to the right place, but I am stuck on 
>a weird problem building a Perl module.

vmsperl is the right place.  I believe vmsperl-help is just for help
with the mailing list, not for help with Perl or VMS.

>
>I have a persistent perl executable based on the code found in the "perldoc 
>perlembed" example, and this executable will be running scripts that use a 
>Perl module that has a C extension that is making a call to an .obj that 
>contains FORTRAN code (how's that for confusing?). The .obj file is known 
>PersistentPerl, but is not known to PerlInterface. PerlInterface.XS contains a 
>prototype of the call to the FORTRAN routine, and a routine in 
>PerlInterface.XS contains the call to the routine.
>
>Believe it or not, the PerlInterface and PersistentPerl actually work as 
>desired under *NIX systems. That is, when a script with 'use PerlInterface' is 
>run under the PersistentPerl executable, a call to the FORTRAN routine behaves 
>exactly the way it's supposed to. If that same script is run by just typing 
>"perl [script].pl",  the script can't compile. This is exactly what I need 
>this thing to do. You can do a 'perl Makefile.PL' and a 'make install', (but 
>not 'make test' obviously), and after that, PersistentPerl and PerlInterface 
>work perfectly.
>
>When I ported the whole thing over to VMS, everything worked. Almost. 
>PERSISTENTPERL compiled, and successfully linked all the FORTRAN .obj files.

What did it link them into?  Did it create a shareable image (aka dynamic 
library)?

>I did a 'perl MAKEFILE.PL' and it created a DESCRIP.MMS for PERLINTERFACE. 
>Then I did an 'mms install' and got a headace.
>
>%LINK-W-USEUNDEF UNDEFINED SYMBOL REFERRED IN MODULE PERLINTERFACE fiile 
>[....path to .olb file]PERLINTERFACE.OLB
>
>%MMS-F-ABORT PL_PERLINTERFACE.EXE CLI RETURNED ABORT STATUS %X10648268
>
>I'm a real VMS novice, and mms is new to me as well, so I have no idea what is 
>going on here. It looks to me as though I'm missing some sort of explicit call 
>in my MAKEFILE.PL to ensure that my module doesn't try to resolve the lack of 
>the actual code the call is trying to make.
>
>Thanks for any help you can give me.

Is there any code in PerlInterface that is expected to know how to
locate a dynamic library at run-time, i.e., any dlopen() calls or
similar?

-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to