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
