turtlepoo has asked for the wisdom of the Perl Monks concerning the following question:

when i run a script it says;
[root@fedora-basher tests]# ./fetchmail.pl Can't load '/usr/lib/perl5/site_perl/5.8.8/mapi.so' for module mapi: / +usr/lib/perl5/site_perl/5.8.8/mapi.so: undefined symbol: swig_types a +t /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230 +. at /usr/lib/perl5/site_perl/5.8.8/mapi.pm line 11 Compilation failed in require at ./fetchmail.pl line 15. BEGIN failed--compilation aborted at ./fetchmail.pl line 15.
so I do;
[root]# nm /usr/lib/perl5/site_perl/5.8.8/mapi.so | grep swig_types U swig_types
I think this means that perl cannot load mapi.so because swig_types is not defined in any .so library. so i do;
for f in `find / -name '*.so'`; do echo $f ; nm $f | grep swig_types +; done > x.x 2>y.y
then look in x.x for where swig_types is defined but there is nothing but mapi.so How do I work out what library swig_types is defined in so that the perl script can work?

Replies are listed 'Best First'.
Re: dynaloader .so problem
by Anonymous Monk on Jan 14, 2008 at 20:01 UTC
    you usually work that out when installing mapi