MAZ wrote:
> I have successfully installed and configured Informix
BI and now,
> when I am installing Informix
BD, 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.]
--
Jonathan Leffler #include <disclaimer.h>
Email:
jleffler@earthlink.net,
jleffler@us.ibm.com
Guardian of DBD::Informix v2003.04 --
http://dbi.perl.org/