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