I am trying to load DBI on a server and getting errors with the make command.
background-----------
DBI 1.604 (building this package)
os = AIX 5300-07
Perl -v v5.8.2 built for aix-thread-multi-64all
# gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld
--enable-languages=c,c++,java --prefix=/opt/freeware --enable-threads
--enable-version-specific-runtime-libs --host=powerpc-ibm-aix5.3.0.0
--target=powerpc-ibm-aix5.3.0.0 --build=powerpc-ibm-aix5.3.0.0
--disable-libjava-multilib
Thread model: aix
gcc version 4.2.0
-----------------------------------------------------------
perl Makefile.PL runs with warning about multithread, I use -nothread and get
same warning. ok, so moving on.
vi Makefile - modify the cc_r to gcc
modify the -q64 to be -maix64
remove options -qmaxmem=-1 -qnoansialias
make a bunch of cp and...
/usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" =>
"DBI", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);'
/usr/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi
/usr/bin/perl /usr/opt/perl5/lib64/5.8.2/ExtUtils/xsubpp -typemap
/usr/opt/perl5/lib64/5.8.2/ExtUtils/typemap -typemap typemap Perl.xs >
Perl.xsc && mv Perl.xsc Perl.c
gcc -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -maix64 -DUSE_64_BIT_ALL -maix64 -O
-DVERSION=\"1.604\" -DXS_VERSION=\"1.604\"
"-I/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE" Perl.c
In file included from
/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/op.h:484,
from
/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/perl.h:2344,
from DBIXS.h:19,
from Perl.xs:6:
/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/reentr.h:619: error:
field '_drand48_struct' has incomplete type
/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/reentr.h:727: error:
field '_random_struct' has incomplete type
/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/reentr.h:775: error:
field '_srandom_struct' has incomplete type
make: 1254-004 The error code from the last command is 1.
Stop.
---------------------------------------------------
I did have a go make on a server with
C for AIX Compiler, Version 5
perl v5.8.0 built for aix-thread-multi
AIX 5.2. -10
--------------------------------------------------
Question 1: What is wrong with the reentr.h using gcc in first test case?
Question 2: How can a make a portable package from the working system to the
broken build?
Anyhelp will do.
Thanks
Rich