Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Running this gives:use 5.008003; use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( NAME => 'MdbSQL', VERSION_FROM => 'lib/MdbSQL.pm', # finds $VERSION PREREQ_PM => {}, # e.g., Module::Name => 1.1 ($] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => 'lib/MdbSQL.pm', # retrieve abstract from mod +ule AUTHOR => 'Jon Dixon <dixonj@localdomain>') : ()), # LIBS => ['-L/usr/local/lib ', `pkg-config --libs gli +b-2.0 `, '-L/usr/lib '], # e.g., '-lm' LIBS => ['-L/usr/local/lib ', '-lmdb -lmdbsql ', `pkg +-config --libs glib-2.0 `, '-L/usr/lib '], # e.g., '-lm' DEFINE => '', # e.g., '-DHAVE_SOMETHING' INC => '-I. -I/usr/local/include ' . `pkg-config --c +flags glib-2.0 `, # e.g., '-I. -I/usr/include/other' # Un-comment this if you add C files to link with later: # OBJECT => '$(O_FILES)', # link all the C files too ); if (eval {require ExtUtils::Constant; 1}) { # If you edit these definitions to change the constants used by this + module, # you will need to use the generated const-c.inc and const-xs.inc # files to replace their "fallback" counterparts before distributing + your # changes. my @names = (qw()); ExtUtils::Constant::WriteConstants( NAME => 'MdbSQL', NAMES => \@names, DEFAULT_TYPE => 'IV', C_FILE => 'const-c.inc', XS_FILE => 'const-xs.inc', ); } else { use File::Copy; use File::Spec; foreach my $file ('const-c.inc', 'const-xs.inc') { my $fallback = File::Spec->catfile('fallback', $file); copy ($fallback, $file) or die "Can't copy $fallback to $file: $!" +; } }
The libmdb.so and libmdbsql.so libraries are installed in /usr/local/lib, with header files in /usr/local/include. If I go in and try to manually add the -lmdb and -lmdbsql on EXTRALIBS and LDLOADLIBS in the Makefile, the "make" process works fine but I get an error in "make test" as soon as it tries to load a function from the libmdbsql.so.Note (probably harmless): No library found for -lmdb Note (probably harmless): No library found for -lmdbsql Writing Makefile for MdbSQL
Anyone have suggestions for what is needed to allow Makefile.PL to be able to find the proper libraries?
Thanks, Jon
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Library path for XSUB
by PodMaster (Abbot) on Oct 05, 2005 at 00:19 UTC |