DBD-Informix 模块 安装时,需要先手工安装informix 客户端同时,编译过程发现如下错误时,
解决办法: vi Makefile.PL ,查找TEST,把TEST STARTt到TEST STOP都删掉,然后安装就OK了 .
[root@clean122 DBD-Informix-2013.0118]# perl Makefile.PL
*** ExtUtils::AutoInstall version 0.63*** Checking for dependencies...
[Core Features]
- DBI ...loaded. (1.625 >= 1.38)
[High Resolution Timing]
- Time::HiRes ...loaded. (1.9721)
[POD Format Testing]
- Test::Pod ...loaded. (1.46)
*** ExtUtils::AutoInstall configuration finished.
Configuring IBM Informix Database Driver for Perl DBI Version 2013.0118 (2013-01-18) (aka DBD::Informix)
You are using DBI version 1.625 and Perl version 5.010001
Remember to actually read the README file!
Perl: /usr/bin/perl v5.010001 x86_64-linux-thread-multi dl_dlopen.xs
System: linux x86-032.build.eng.bos.redhat.com 2.6.18-406.el5 #1 smp fri may 1 10:37:57 edt 2015 x86_64 x86_64 x86_64 gnulinux
*** Ideally, you should upgrade to Perl version 5.016002 or later.
Using INFORMIXDIR=/opt/IBM/informix and ESQL/C compiler esql
Using IBM Informix CSDK Version 3.50, IBM Informix-ESQL Version 3.50.FC3 from /opt/IBM/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
esqlinfo.h written OK
Testing whether your Informix test environment will work...
ESQLTEST Program Running:
@(#)$Id: esqltest.ec,v 2008.1 2008/05/13 23:13:10 jleffler Exp $
$INFORMIXDIR is set to '/opt/IBM/informix'.
$INFORMIXSERVER is set to 'JSPMDBB1'.
$DBI_DBNAME unset - defaulting to 'stores'.
$DBD_INFORMIX_DATABASE unset - defaulting to 'stores'.
$DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'.
$DBD_INFORMIX_USERNAME is unset.
$DBD_INFORMIX_USERNAME2 is unset.
$DBD_INFORMIX_PASSWORD is unset.
$DBD_INFORMIX_PASSWORD2 is unset.
Testing connection to stores
CONNECT TO 'stores' - no user info
SQL: -951: Incorrect password or user root@10.40.96.122[clean122] is not known on the database server.
Testing concurrent connection to stores
CONNECT TO 'stores' - no user info
SQL: -951: Incorrect password or user root@10.40.96.122[clean122] is not known on the database server.
ISAM: 2: No such file or directory
*** Your Informix environment is not usable
*** You must fix it before building or testing DBD::Informix
The test program esqltest compiled successfully (which is good).
However, it did not run successfully (which is bad).
If the esqltest program did not produce any output:
This suggests that there is a problem with the ESQL/C runtime
environment, or with the database permissions (in which case, you
should have seen diagnostics from the esqltest program itself).
Consider whether the shared library path environment variable (eg
LD_LIBRARY_PATH or SHLIB_PATH) is set correctly.
If the esqltest program did produce some output:
This suggests that you do not have enough permissions in your
Informix environment. You really need DBA (at least RESOURCE)
level privileges on the database you are using.
If you might be having problems with ESQL/C, try to compile and run
the simple ESQL/C program esqlbasic.ec, which has no Perl related
code in it at all -- it is a pure ESQL/C program:
esql -o esqlbasic esqlbasic.ec && esqlbasic
If you cannot get that to work, then the problem is with ESQL/C
and not with DBD::Informix per se, and you need to get your ESQL/C
installation fixed so that you can compile and run the esqlbasic
program successfully.
Make sure you read the whole README file before asking the DBI/DBD
community for help!