$ uname -a
AIX hostname 1 6 00CBD3124C00
$ gcc --version
gcc (GCC) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
$ perl --version
This is perl 5, version 16, subversion 2 (v5.16.2) built for aix-thread-multi-64int
$ echo $TUXDIR
/opt/tuxedo/11.1_32
####
$ tar zxvf Tuxedo-2.08.tar.gz
Tuxedo-2.08/
Tuxedo-2.08/testflds
$ cd Tuxedo-2.08/
$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Tuxedo
Writing MYMETA.yml and MYMETA.json
$ make --version
GNU Make 4.0
Built for powerpc-ibm-aix6.1.0.0
$ make test
cp tpadm.pm blib/lib/tpadm.pm
cp genubbconfig.pl blib/lib/genubbconfig.pl
CC="gcc -maix32 -L/usr/local/lib -L/path/to/perl-5.16.2/powerpc-AIX6.1/lib/CORE"; export CC; /opt/tuxedo/11.1_32/bin/buildserver -o PERLSVR -s ":PERL" -f "blib/arch/auto/Tuxedo/Tuxedo.so" -f "-Xlinker -bE:/path/to/perl-5.16.2/powerpc-AIX6.1/lib/CORE/perl.exp -Wl,-brtl -Wl,-bdynamic -Wl,-b32 -Wl,-bmaxdata:0x80000000 -lperl -lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc"
gcc: error: unrecognized option '-brtl'
gcc: error: unrecognized option '-qstaticinline'
gcc: error: unrecognized option '-qrtti=all'
gcc: error: unrecognized option '-brtl'
gcc: error: unrecognized option '-qstaticinline'
####
$ rm -rf Tuxedo-2.08
$ tar zxvf Tuxedo-2.08.tar.gz
$ cp Makefile.PL Tuxedo-2.08/.
$ cd Tuxedo-2.08/
$ perl Makefile.PL
perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Tuxedo
Writing MYMETA.yml and MYMETA.json
####
$ make test
CC="gcc -maix32 -L/usr/local/lib -L/path/to/perl-5.16.2/powerpc-AIX6.1/lib/CORE"; export CC; ./aix-buildserver -o PERLSVR -s ":PERL" -f "blib/arch/auto/Tuxedo/Tuxedo.so" -f "-Xlinker -bE:/path/to/perl-5.16.2/powerpc-AIX6.1/lib/CORE/perl.exp -Wl,-brtl -Wl,-bdynamic -Wl,-b32 -Wl,-bmaxdata:0x80000000 -lperl -lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc"
####
COMPILE_CMD=gcc -maix32 -L/usr/local/lib -L/path/to/perl-5.16.2/powerpc-AIX6.1/lib/CORE -I/opt/tuxedo/11.1_32/include -o PERLSVR BS-1d301fe.c -L/opt/tuxedo/11.1_32/lib blib/arch/auto/Tuxedo/Tuxedo.so -Xlinker -bE:/path/to/perl-5.16.2/powerpc-AIX6.1/lib/CORE/perl.exp -Wl,-bdynamic -Wl,-b32 -Wl,-bmaxdata:0x80000000 -lperl -lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc -ltux -lbuft -lfml -lfml32 -lengine -lpthread
####
PERL_DL_NONLAZY=1 /path/to/powerpc-AIX6.1/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
1..1
Can't load 'blib/arch/auto/Tuxedo/Tuxedo.so' for module Tuxedo: rtld: 0712-001 Symbol tptypes was referenced
from module blib/arch/auto/Tuxedo/Tuxedo.so(), but a runtime definition
of the symbol was not found.
####
$ file blib/arch/auto/Tuxedo/Tuxedo.so
blib/arch/auto/Tuxedo/Tuxedo.so: executable (RISC System/6000) or object module not stripped
####
$ nm blib/arch/auto/Tuxedo/Tuxedo.so|grep tptypes
.XS_Tuxedo_tptypes t 268483616
.tptypes T 268439336
.tptypes t 268439336 40
XS_Tuxedo_tptypes d 536874984 12
XS_Tuxedo_tptypes d 536876760 4
tptypes U -
tptypes d 536876124 4
####
$ echo $LIBPATH
/opt/tuxedo/11.1_32/lib
$ ls $LIBPATH/libtux.a $LIBPATH/libtux.so
/opt/tuxedo/11.1_32/lib/libtux.a /opt/tuxedo/11.1_32/lib/libtux.so
####
$ nm /opt/tuxedo/11.1_32/lib/libtux.so|grep tptypes
.tptypes T 208392
tptypes D 57036 12
$ nm /opt/tuxedo/11.1_32/lib/libtux.a|grep tptypes
.tptypes T 208392
tptypes D 57036 12
####
$ PERL_DL_DEBUG=1 PERL_DL_NONLAZY=1 /path/to/powerpc-AIX6.1/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
1..1
DynaLoader.pm loaded (blib/lib blib/arch /path/to/lib/perl5/site_perl /home/myname/lib/perl5/site_perl /path/to/perl-5.16.2/powerpc-AIX6.1/lib/site_perl /path/to/perl-5.16.2/powerpc-AIX6.1/lib ., /usr/local/lib /lib /usr/lib /usr/ccs/lib /opt/tuxedo/11.1_32/lib)
DynaLoader::bootstrap for Tuxedo (auto/Tuxedo/Tuxedo.so)
Can't load 'blib/arch/auto/Tuxedo/Tuxedo.so' for module Tuxedo: rtld: 0712-001 Symbol tptypes was referenced
from module blib/arch/auto/Tuxedo/Tuxedo.so(), but a runtime definition
of the symbol was not found.
at test.pl line 11.
Compilation failed in require at test.pl line 11.
BEGIN failed--compilation aborted at test.pl line 11.
not ok 1
####
$ cat blib/arch/auto/Tuxedo/Tuxedo.bs
print "Hello, dynaloader bootstrap...\n";
print "(before) dl_resolve_using=@dl_resolve_using\n";
@dl_resolve_using = dl_findfile('-ltux');
print "(after) dl_resolve_using=@dl_resolve_using\n";
$ PERL_DL_NONLAZY=1 /path/to/powerpc-AIX6.1/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
1..1
Hello, dynaloader bootstrap...
(before) dl_resolve_using=
(after) dl_resolve_using=/opt/tuxedo/11.1_32/lib/libtux.a
Can't load 'blib/arch/auto/Tuxedo/Tuxedo.so' for module Tuxedo: rtld: 0712-001 Symbol tptypes was referenced
from module blib/arch/auto/Tuxedo/Tuxedo.so(), but a runtime definition
of the symbol was not found.
####
$ find /path/to/perl-5.16.2/ -name '*.so'|wc
68 68 4675