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
