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

Reply via email to