It seems that I have found an answer, but it is not as automatic as it seems it should be.
If I use the NOCLEAN option and then go into the build directory and do: ld -shared inlinedwg_pl_4215.o -o ../../lib/auto/inlinedwg_pl_4215/inlinedwg_pl_4215.so /usr/local/lib/ad2.a /usr/local/lib/ad2pic.a It appears to be working, but I will have to do this step by hand every time I change the C code and cause a recompile? Does it have something to do with MakeMaker not finding the *.a files in the Makefile.PL? Is there any way to make .so files out of .a files? --Eric > The following was supposedly scribed by > Eric Wilhelm > on Friday 26 September 2003 12:47 am: >perl: relocation error: <long path>: undefined symbol: adInitAd2 > >I'm trying to include an external library which contains the adInitAd2 >function. It is typed in the header file "ad2.h". > >I've had success with this same library using swig in the past using the >following compile string (after generating the _wrap code with swig) > >gcc -g -c DWG_wrap.c -I/usr/local/include/ -I\ >/usr/lib/perl5/5.6.1/i386-linux/CORE/ && ld -shared DWG_wrap.o -o DWG.so\ >/usr/local/lib/ad2.a /usr/local/lib/ad2pic.a > >where the swig interface file had the following includes: > >#include "ad2.h" >#include "odio.h" > >Using these same includes in my Inline code, I get the above mentioned >relocation error. > >Any suggestions as to what causes this? > >Thanks, >Eric -- "There are three terrible ages of childhood -- 1 to 10, 10 to 20, and 20 to 30." --Cleveland Amory