# The following was supposedly scribed by # PerlDiscuss - Perl Newsgroups and mailing lists # on Sunday 12 December 2004 07:42 am:
>Hi, > I am also trying to use a function inside the static library >libX11.a - the XLookupString function. This function is declared in >Xutil.h in the X11 directory. I used the options of LIBS => '-lX11' > , INC => '/usr/include/X11' where the libX11.a is stored in my > current directory. I also used #include <X11/Xutil.h> in the C > code. But the out.Makefile.PL in the build directory says that > -lX11 library was not found, and I get an error saying > XLookupString is not defined. A similar C code with same > compilation options works. Can someone help ? Wait a second, you have libX11.a in your current directory? I'm not sure if that will work, since Inline builds in a temp directory. Maybe try the MYEXTLIB as shown below. That said, what follows is the e-mail that I had already written before having that thought... Are you suffering from the INC bug that I found? Maybe there is something of the same happening with the LIBS variable? I was running into INC getting cleared if Inline::C::validate was called more than once. Look in the archives for "Inline::CPP => INC problem" or try this diff: $svn diff -r 295:296 external/Inline-C/Inline/C.pm Index: external/Inline-C/Inline/C.pm =================================================================== --- external/Inline-C/Inline/C.pm (revision 295) +++ external/Inline-C/Inline/C.pm (revision 296) @@ -1,5 +1,5 @@ package Inline::C; -$VERSION = '0.44'; +$VERSION = '0.45'; use strict; require Inline; @@ -43,7 +43,8 @@ $o->{ILSM}{MAKEFILE} ||= {}; if (not $o->UNTAINT) { require FindBin; - $o->{ILSM}{MAKEFILE}{INC} = "-I$FindBin::Bin"; + ($o->{ILSM}{MAKEFILE}{INC} =~ m/-I$FindBin::Bin/) or + ($o->{ILSM}{MAKEFILE}{INC} = "-I$FindBin::Bin"); } $o->{ILSM}{AUTOWRAP} = 0 if not defined $o->{ILSM}{AUTOWRAP}; $o->{ILSM}{XSMODE} = 0 if not defined $o->{ILSM}{XSMODE}; I never got an answer when I copied Brian on this, but I see that CPAN still has Inline::C at 0.44. In my CAD::Drawing::IO::DWGI.pm, I use the following for the opendwg (binary) library: use Inline ( C => Config => INC => '-I/usr/local/include', MYEXTLIB => '/usr/local/lib/ad2.a /usr/local/lib/ad2pic.a', # ... );