Re: Problems installing DBI on AIX5

"Martin J. Evans" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Organization Easysoft Limited
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.