Thank you. That was exactly it.
----- Original Message -----
From: "Arthur Corliss" <[EMAIL PROTECTED]>
To: "Tim Harsch" <[EMAIL PROTECTED]>
Cc: "Perl Mod Authors" <[EMAIL PROTECTED]>
Sent: Wednesday, March 31, 2004 6:16 PM
Subject: Re: trouble with MakeMaker finding library
> On Wed, 31 Mar 2004, Tim Harsch wrote:
>
> > Hi all,
> > My module requires a shared library. I'd like for the user to have that
> > library available at LD_LIBRARY_PATH and call it good enough. However,
look
> > at the following. I get 'No library found' and note: both
LD_LIBRARY_PATH
> > is set and -L specifies the location
> >
> > ***********************************************
> > use ExtUtils::MakeMaker;
> >
> > die "SGE_ROOT environment variable not defined " unless my $SGE_ROOT =
> > $ENV{SGE_ROOT};
> >
> > # See lib/ExtUtils/MakeMaker.pm for details of how to influence
> > # the contents of the Makefile that is written.
> > WriteMakefile(
> > 'NAME' => 'Schedule::DRMAAc',
> > 'VERSION_FROM' => 'DRMAAc.pm', # finds $VERSION
> > 'PREREQ_PM' => {}, # e.g., Module::Name => 1.1
> > ($] >= 5.005 ? ## Add these new keywords supported since 5.005
> > (ABSTRACT_FROM => 'DRMAAc.pm', # retrieve abstract from module
> > AUTHOR => 'Tim Harsch <[EMAIL PROTECTED]>') : ()),
> > 'LIBS' => ['-ldrmaa', '-lsocket', '-lnsl', '-lm', '-lpthread'],
> > 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
> > # Insert -I. if you add *.h files later:
> > 'INC' => "-L$SGE_ROOT/lib/sol-sparc -I$SGE_ROOT/include",
> >
> > # Un-comment this if you add C files to link with later:
> > 'OBJECT' => '$(O_FILES)', # link all the C files too
> > );
> > ***********************************************
> > [868] dna:/home/harsch/CVS/managers/drmaa> echo $LD_LIBRARY_PATH
> >
/home/harsch/CVS/managers/drmaa/Schedule:/home/harsch/tmp/SGE_040310/lib/sol
>
> -sparc:/usr/local/lib:/usr/local/opt/SUNWspro/lib:/opt/SUNWspro/lib:/usr/o
pe
> > nwin/lib:/usr/dt/lib:/usr/4lib
> > [869] dna:/home/harsch/CVS/managers/drmaa> echo $SGE_ROOT/
> > /home/harsch/tmp/SGE_040310/
> > [870] dna:/home/harsch/CVS/managers/drmaa> perl Makefile.PL
> > Note (probably harmless): No library found for -ldrmaa
> > Writing Makefile for Schedule::DRMAAc
>
> BTW, keep in mind that your usage of LIBS will use each array member as a
> complete set of arguments to ld, which means that if you had the '-ldrmaa'
as
> the last array member you would have never even have gotten that warning.
If
> all those libraries are mandatory you need to pass them as a single array
> member. Quoting the pod:
>
> LIBS
> An anonymous array of alternative library specifications to be
> searched for (in order) until at least one library is found.
>
> In any event, setting LD_LIBRARY_PATH won't override the search path when
> testing for libraries, you'll need to add it to LIBS as well:
>
> LIBS => ["-L$SGE_ROOT/lib/sol-sparc -ldrmaa", ...]
>
> --Arthur Corliss
> Bolverk's Lair -- http://arthur.corlissfamily.org/
> Digital Mages -- http://www.digitalmages.com/
> "Live Free or Die, the Only Way to Live" -- NH State Motto