Andrew, I'm not really an expert in these matters, but here a few things you might look into:
Is the DbgShellProcessUserInput symbol in the raid2_f8ac.so object file? Is it possible that when you create the .so it only links in the symbols from the .a that are actually used in the code? You may have to squeeze your -L... -l... options for static objects between -Wl,--whole-archive ... -Wl,--no-whole-archive gcc options to do what you are trying to do. Patrick On Fri, May 27, 2011 at 10:38 PM, Andrew DeFaria <andrew.defa...@tellabs.com> wrote: > I'm using Inline->bind to bind to a static lib which has a few dependencies > so I am setting LIBS to a series of 3 -L/-l pairs. Inline is successfully > binding to the library and I go to make the call to the library but I'm > failing with a Symbol lookup error - undefined symbol: > > bash-3.2$ /usr/local/bin/perl raid2 -load DbgSh.h > Calling bind with libs set to > -L/view/yfang_fp1.0_yfang_May24/vob/9200_packetcore/packetcore/infra/sysmgr/ipmi > -lwiipmi > -L/view/yfang_fp1.0_yfang_May24/vob/9200_packetcore/packetcore/infra/lib/src > -lwinfra > -L/vob/9200/software/common/debugshell -lDbgSh > Starting Build Preprocess Stage > Finished Build Preprocess Stage > > Starting Build Parse Stage > Finished Build Parse Stage > > Starting Build Glue 1 Stage > Finished Build Glue 1 Stage > > Starting Build Glue 2 Stage > Finished Build Glue 2 Stage > > Starting Build Glue 3 Stage > Finished Build Glue 3 Stage > > Starting Build Compile Stage > Starting "perl Makefile.PL" Stage > Writing Makefile for raid2_f8ac > Finished "perl Makefile.PL" Stage > > Starting "make" Stage > make: Warning: File `Makefile' has modification time 8.5 s in the future > /usr/local/bin/perl /usr/local/lib/perl5/5.8.9/ExtUtils/xsubpp -typemap > /usr/local/lib/perl5/5.8.9/ExtUtils/typemap -typemap > /vob/9200/software/common/debugshell/typemap raid2_f8ac.xs > > raid2_f8ac.xsc && mv raid2_f8ac.xsc raid2_f8ac.c > gcc -c -I/vob/9200/software/common/debugshell -m32 -fno-strict-aliasing > -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > -I/usr/include/gdbm -O2 -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" -fPIC > "-I/usr/local/lib/perl5/5.8.9/i386/CORE" raid2_f8ac.c > Running Mkbootstrap for raid2_f8ac () > chmod 644 raid2_f8ac.bs > rm -f blib/arch/auto/raid2_f8ac/raid2_f8ac.so > gcc -m32 -shared -O2 -L/usr/local/lib raid2_f8ac.o -o > blib/arch/auto/raid2_f8ac/raid2_f8ac.so \ > > -L/view/yfang_fp1.0_yfang_May24/vob/9200_packetcore/packetcore/infra/sysmgr/ipmi > -lwiipmi \ > > chmod 755 blib/arch/auto/raid2_f8ac/raid2_f8ac.so > cp raid2_f8ac.bs blib/arch/auto/raid2_f8ac/raid2_f8ac.bs > chmod 644 blib/arch/auto/raid2_f8ac/raid2_f8ac.bs > make: warning: Clock skew detected. Your build may be incomplete. > Finished "make" Stage > > Starting "make install" Stage > make: Warning: File `Makefile' has modification time 7.7 s in the future > Files found in blib/arch: installing files in blib/lib into architecture > dependent library tree > Writing > /vob/9200/software/common/debugshell/_Inline/lib/auto/raid2_f8ac/.packlist > make: warning: Clock skew detected. Your build may be incomplete. > Finished "make install" Stage > > Starting Cleaning Up Stage > Finished Cleaning Up Stage > > Finished Build Compile Stage > > RAiD [DbgSh] <144> DbgShellProcessUserInput (1,1,1) > /usr/local/bin/perl: symbol lookup error: > /vob/9200/software/common/debugshell/_Inline/lib/auto/raid2_f8ac/raid2_f8ac.so: > undefined symbol: DbgShellProcessUserInput > bash-3.2$ pwd > /vob/9200/software/common/debugshell > bash-3.2$ nm libDbgSh.a | grep DbgShellProcessUserInput > 000000000000074c T DbgShellProcessUserInput > bash-3.2$ > > As you can see DbgShellProcessUserInput is indeed defined in libDbgSh.a yet > when I attempt to call it I get the symbol lookup failure. > > The problem seem to have something to do with the additional libraries as if > they are not included then I don't have a problem. But I need to have those > other libraries. How do I fix this? > > TIA. > -- > Andrew DeFaria <http://defaria.com> > Everybody repeat after me ...We are all individuals. > -- ===================== Patrick LeBoutillier Rosemère, Québec, Canada