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

Reply via email to