----- Original Message ----- From: "Luis Mochan" <[email protected]>
To: <[email protected]>
Sent: Sunday, September 02, 2012 4:29 PM
Subject: [Perldl] Inline::Pdlpp


I'm trying to learn to use Inline::C and Inline::Pdlpp. I'm confused
by the following error. I made a small program to use data from a pdl
within a C routine. If I include the following line in the program:
use Inline Pdlpp=>Config=>
        MYEXTLIB=>'/some/path/libsomelibrary.a';
the program runs as expected. But if I include instead the line
   use Inline Pdlpp=>Config=>
     LIBS=>'-L/some/path -lsomelibrary.a';
the program fails with a segmentation fault. I guess that the problem
is simply that I don't understand all the differences between MYEXTLIB and
LIBS. Can someone please explain?
Regards,
Luis

I don't know much about it - on Win32 I only ever use MYEXTLIB with Inline if I want to link to a shared library (dll). But that doesn't make much sense when one looks at the ExtUtils::Makemaker documentation:

MYEXTLIB
If the extension links to a library that it builds set this to the
name of the library (see SDBM_File)

If libsomelibrary.a is pre-existing (ie does not get built by the Inline::C compilation) and you need to link to it, then I would expect that the LIBS approach should work.

If, in your script, you do:

use Inline Pdlpp=>Config=>
   CLEAN_AFTER_BUILD => 0,
   FORCE_BUILD => 1,
   BUILD_NOISY => 1,
   MYEXTLIB=>'/some/path/libsomelibrary.a';

then you'll be able to:

1) See the ouptut of the build process (which may contain some useful warnings); 2) Go into the build directory and view the generated Makefile, XS file and C file (which may help you determine the difference between the 2 approaches).

(I think the path provided to LIBS needs to be a fully qualified path, not a relative path. However, I gather you're already providing a fully qualified path - and I would expect a different error if you weren't.)

Cheers,
Rob

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to