On Thu, May 02, 2002 at 07:26:37AM -0700, Brian Ingerson wrote:
> On 01/05/02 23:33 -0700, Clint Olsen wrote:
> > Perhaps this is a problem with MakeMaker, but when I pass anything in LIBS,
> > it's not showing up in the auto-generated Makefile.  I've seen other
> > references to this on this list and on newsgroups, however I've never seen
> > a response to it.
> 
> I think that LIBS behaviour is non-obvious. I played with it directly this

Oops. I've been deleting too many messages, so I don't have Clint's message
anymore.

I agree with Ingy that it's non obvious.

I had several hours of head scratching until I realised that MakeMaker is
very picky about the format of the LIBS line. It drops everything it doesn't
recognise (but issues a warning which Inline logs but because the build
doesn't fail you don't see)

The symptom I saw was failure due to missing symbols as Inline tried to
load the .so - the cause was a space after L in -L /path/to/my/library
IIRC. Rewrite that as -L/path/to/my/library and it worked.

The cause was MakeMaker dropping my -L argument.
MakeMaker and the make process were not worried that they can't find the
library I'd also specified in the LIBS section in the standard search
locations so the build worked. However, Dynaloader (obviously) also couldn't
find the library, and it was the first stage to report the error back to
me, as missing symbols. Tracing missing symbols back to a space after -L
was fiddly.

Nicholas Clark
  

Reply via email to