On Mon, Jan 08 2001, Brian Ingerson wrote: > > PS Any findings on the DynaLoader flags needed to make symbols visible > across objects? Not yet, but I am still working on that problem ... :-) I got puzzled by a different problem related to Perl && Inline && AIX :-( I found out that every time I run an Inline related script I got the code recompiled. To make a long story short, it turned out, that the suffix for dynamic perl libraries under AIX is set to "a" (see perl-source/hints/aix.sh) and therefore I got the following information: <-----------------------Information Section-----------------------------------> Information about the processing of your Inline C code: Your source code needs to be compiled. I'll use this build directory: /tmp/blib_I/main_C_example001_pl_e50a703a59502715d0f051e719b09335/ and I'll install the executable as: /tmp/blib_I/lib/perl5/site_perl/5.005/aix/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.a The following Inline C function(s) have been successfully bound to Perl: void greet(char * name) <-----------------------End of Information Section----------------------------> Watch the "a" at the end of the path of line next to "and I'll install the executable as:" But when you check the output of all involved make steps, there is nothing like a suffix "a". It always says "so". So I guess at some certain point the "library.so" should have been {moved,copied} to "library.a". But that step never happened. I have attached the corresponding output files. When I changed the line so='a' to so='so' in /usr/local/lib/perl5/5.00502/aix/Config.pm then everything worked fine and when I run a script more than once the previously compiled code was used. Therefore I assume that Inline was searching for a library with the suffix "a" but could not find such a beast and therefore decided to compile the code again. Cheers, Norbert --
mkdir blib mkdir blib/lib mkdir blib/arch mkdir blib/arch/auto mkdir blib/arch/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335 mkdir blib/lib/auto mkdir blib/lib/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335 /usr/local/bin/perl "-I/usr/local/lib/perl5/5.00502/aix" "-I/usr/local/lib/perl5/5.00502" -e 'use ExtUtils::Mksymlists; \ Mksymlists("NAME" => "main_C_example001_pl_e50a703a59502715d0f051e719b09335", "DL_FUNCS" => { }, "DL_VARS" => []);' /usr/local/bin/perl -I/usr/local/lib/perl5/5.00502/aix -I/usr/local/lib/perl5/5.00502 /usr/local/lib/perl5/5.00502/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.00502/ExtUtils/typemap main_C_example001_pl_e50a703a59502715d0f051e719b09335.xs >main_C_example001_pl_e50a703a59502715d0f051e719b09335.tc && mv main_C_example001_pl_e50a703a59502715d0f051e719b09335.tc main_C_example001_pl_e50a703a59502715d0f051e719b09335.c cc -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=8192 -I/usr/local/include -O -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" -I/usr/local/lib/perl5/5.00502/aix/CORE main_C_example001_pl_e50a703a59502715d0f051e719b09335.c 1506-507 (W) No licenses available. Contact your program supplier to add additional users. Compilation will proceed shortly. Running Mkbootstrap for main_C_example001_pl_e50a703a59502715d0f051e719b09335 () chmod 644 main_C_example001_pl_e50a703a59502715d0f051e719b09335.bs LD_RUN_PATH="" ld -o blib/arch/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.so -bhalt:4 -bM:SRE -bI:/usr/local/lib/perl5/5.00502/aix/CORE/perl.exp -bE:main_C_example001_pl_e50a703a59502715d0f051e719b09335.exp -b noentry -lc -L/usr/local/lib main_C_example001_pl_e50a703a59502715d0f051e719b09335.o chmod 755 blib/arch/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.so cp main_C_example001_pl_e50a703a59502715d0f051e719b09335.bs blib/arch/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.bs chmod 644 blib/arch/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.bs
Installing /tmp/blib_I/lib/perl5/site_perl/5.005/aix/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.so Installing /tmp/blib_I/lib/perl5/site_perl/5.005/aix/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/main_C_example001_pl_e50a703a59502715d0f051e719b09335.bs Files found in blib/arch --> Installing files in blib/lib into architecture dependend library tree! Writing /tmp/blib_I/lib/perl5/site_perl/5.005/aix/auto/main_C_example001_pl_e50a703a59502715d0f051e719b09335/.packlist Appending installation info to /usr/local/lib/perl5/5.00502/aix/perllocal.pod