On 03/08/12 16:34, Don Walters wrote:
I don't have an AIX box turned on right now but xlc must support -c (it
means compile but do not link). What does perl -V output? Do you really have
a full AIX compiler installed or is this one of those silly mini compilers.
srvdfj239 / # perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=aix, osvers=5.3.0.0, archname=aix-thread-multi-64all
uname='aix akash79 3 5 00011a85d600 '
config_args='-desr -Dinstallprefix=/usr/opt/perl5
-Dprefix=/usr/opt/perl5 -Dcc=xlc_r -Duseshrplib -Dusethreads'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64',
optimize='-O',
cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT'
ccversion='9.0.0.2', gccversion='', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='ld', ldflags ='-brtl -bdynamic -b64'
libpth=/lib /usr/lib /usr/ccs/lib
libs=-lbind -lnsl -lgdbm -ldbm -ldb -ldl -lld -lm -lcrypt
-lpthreads -lc -lbsd
perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc -lbsd
libc=, so=a, useshrplib=true, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='
-bE:/usr/opt/perl5/lib64/5.8.8/aix-thread-multi-64all/CORE/perl.exp'
cccdlflags=' ', lddlflags='-b64 -bhalt:4 -bexpall -G -bnoentry
-lpthreads -lc'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT
USE_ITHREADS USE_LARGE_FILES USE_PERLIO
USE_REENTRANT_API
Built under aix
Compiled at Jun 3 2009 12:34:41
%ENV:
PERL5LIB="/usr/local/libperl"
@INC:
/usr/local/libperl
/usr/opt/perl5/lib64/5.8.8/aix-thread-multi-64all
/usr/opt/perl5/lib64/5.8.8
/usr/opt/perl5/lib64/site_perl/5.8.8/aix-thread-multi-64all
/usr/opt/perl5/lib64/site_perl/5.8.8
/usr/opt/perl5/lib64/site_perl
.
I tried to find xlC and here's the result:
srvdfj239 / # find . -name *xlc*
Nothing was found from the above.
srvdfj239 / # find . -name *xlC*
./etc/xlC.cfg_dce
./usr/lpp/xlC
./usr/lpp/xlC/exe/default_msg/xlCfe.cat
./usr/lpp/xlC/exe/xlCcpp
./usr/lpp/xlC.aix50
./usr/lpp/xlC.aix50/deinstl/xlC.aix50.rte.al
./usr/lpp/xlC.aix50/deinstl/xlC.aix50.rte.inventory
./usr/lpp/xlC.aix50/deinstl/xlC.aix50.rte.unpost_i
./usr/lpp/xlC.cpp
./usr/lpp/xlC.cpp/deinstl/xlC.cpp.al
./usr/lpp/xlC.cpp/deinstl/xlC.cpp.inventory
./usr/lpp/xlC.msg.en_US
./usr/lpp/xlC.msg.en_US/deinstl/xlC.msg.en_US.rte.al
./usr/lpp/xlC.msg.en_US/deinstl/xlC.msg.en_US.rte.inventory
./usr/lpp/xlC.rte
./usr/lpp/xlC.rte/deinstl/xlC.rte.al
./usr/lpp/xlC.rte/deinstl/xlC.rte.inventory
srvdfj239 / #
Compilers is not really my thing. Currently I'm using
/usr/ccs/lib/cpp. Is that not the same thing?
no, I don't think so. I presume you did not build this Perl yourself, but downloaded from
some IBM site as a binary. You need a "proper" C compiler to compile XS modules
(which DBI is). That is the xlc package from IBM and it costs money usually (but I could
be out of date on that). If you cannot spend money or cannot get xlc you can always build
your own Perl with perlbrew and install gcc for the compiler but you cannot mix gcc
compiled stuff with xlc compiled stuff (which your current Perl is).
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com