View Single Post

   
  #3 (permalink)  
Old 04-20-2008, 06:39 AM
MAZ
 
Posts: n/a
Default Re: DBD::Informix Installation on Sun Solaris 2.8 Problem

Jonathan Leffler <jleffler@earthlink.net> wrote in message news:<41466B2D.9010504@earthlink.net>...
> MAZ wrote:
> > I have successfully installed and configured InformixBI and now,
> > when I am installing InformixBD, I am getting the following errors:
> >
> > $ perl Makefile.PL
> >
> > Configuring IBM Informix Database Driver for Perl Version 2003.04
> > (2003-03-05) (aka DBD::Informix)
> > You are using DBI version 1.43 and Perl version 5.006001
> > Remember to actually read the README file!
> >
> > Perl: perl5.006001 sun4-solaris dl_dlopen.xs
> > System: sunos solaris 5.8 generic sun4u sparc sunw,ultra-5_10
> > Compiler: gcc -O -fno-strict-aliasing -I/usr/local/include
> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> >
> > Using IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version
> > 9.53.FC2R1 from /usr/informix
> >
> > Beware: DBD::Informix is not yet aware of all the new IUS data types.
> >
> > Assert macro will be disabled!
> >
> > lib/DBD/Informix/Defaults.pm written OK
> > esqlvrsn.h written OK
> > esqlinfo.h written OK
> >
> > Testing whether your Informix test environment will work...
> > gcc: language arch=v9 not recognized
> > gcc: esqltest.c: linker input file unused since linking not done
> > gcc: language arch=v9 not recognized
> > gcc: esqlc_v6.c: linker input file unused since linking not done
> > gcc: esqlc_v6.o: No such file or directory
> > gcc: language arch=v9 not recognized
> > gcc: language arch=v9 not recognized
> > Failed to link test program esqltes
> >
> > For ESQL/C, I am using Sun C Compiler, not the gcc. How can, I
> > override this gcc compiler and force to use Sun C compiler.

>
> Your Perl was compiled using GCC - the version isn't clear from the
> information provided, but doesn't matter very much. It is next door
> to impossible to rejig the Perl build process to use the Sun C
> Compiler instead. At one time, there was a module for doing the
> inverse operation - fixing a Perl built with Sun C Compiler so that it
> could use GCC for the extensions - but I don't know whether that is
> still available (it doesn't show up on CPAN as far as I can tell).
>
> Frankly, the easiest thing to do is either rebuild and reinstall Perl
> with the compiler you've actually got or get hold of a suitable
> version of GCC -- the same as or similar to the one used to build
> Perl. Looking at the 'perl -V' output will give you the extra
> information.
>
> Where did you get the DBI installation from? I'm surprised that
> didn't run into similar issues...though, come to think of it, I'm not
> completely surprised. The -xarch=v9 options come from the ESQL/C script.
>
> ...hold on...
>
> You have a GCC - it is complaining about the Sun C options. Is your
> Perl a 64-bit version? If not, you'll have problems with CSDK
> 2.81.FC2 (ESQL/C 9.53.FC2) because the ESQL/C library assumes a 64-bit
> environment. You'd need to use 'gcc -m64' -- if it complains about
> that, you've got real problems. And there is a mechanism - probably
> horribly klunkk - for eliminating problematic options. Investigate
> the environment in Notes/environment.variables, especially:
> * DBD_INFORMIX_DEBUG_ESQLCC
> * DBD_INFORMIX_DEBUG_ESQLLD
> * DBD_INFORMIX_ESQLCC_REMOVE_OPTIONS_REGEX
> * DBD_INFORMIX_ESQLLD_REMOVE_OPTIONS_REGEX
>
> There are illustative uses in the notes. Since GCC was used to build
> Perl, the only issue is whether you have a 32-bit or 64-bit Perl.
> Given the version of Perl, I suspect you have a 32-bit build, and you
> would therefore need to use the 32-bit version of CSDK. That would
> also mean that you can't use shared memory connections to connect your
> Perl + DBI + DBD::Informix to your 64-bit IDS (9.xx.Fyz).
>
> [That test still pays for itself many times over. It heads off so
> many problems before you get Perl directly involved it isn't true.]



It seems Perl was installed with gcc compiler, below is the output of
perl -V
$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1)
configuration:
Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris
uname='sunos solaris 5.8 generic sun4u sparc sunw,ultra-5_10 '
config_args='-Dcc=gcc -de'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.3 20010315 (release)',
gccosandvers='solaris2.8'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under solaris
Compiled at Apr 26 2001 04:07:49
@INC:
/usr/local/lib/perl5/5.6.1/sun4-solaris
/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris
/usr/local/lib/perl5/site_perl/5.6.1
/usr/local/lib/perl5/site_perl
Reply With Quote