DBD::Informix Installation problems on Linux
Posted in 2003
A user on Red Hat 6.2 with Informix OnLine 5.10 couldn't get DBD::Informix to build: Makefile.PL's esqltest failed with SQL -25596 ("INFORMIXSERVER value is not listed in sqlhosts"). Respondents pointed out sqlhosts must be in $INFORMIXDIR/etc or found via $INFORMIXSQLHOSTS, and more importantly that INFORMIXSERVER was set to the hostname 'leeloo' rather than to a name in sqlhosts' first column (leelooshm/leeloosoc); they also advised checking the sqlhosts columns and setting SERVERNAME/DBSERVERALIAS in the config for each connection type. Subsequent attempts gave further errors (-908, -25588), and the thread records no confirmed fix.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Security, Permissions & Auditing, Networking & sqlhosts Configuration, Platform-Specific Issues
Greetings,
Perhaps this problem has been answered before, but my search of the web and newsgroups
hasn't yielded any results. Apologies at the outset for not having able to find the
answer on my own.
I'm trying to compile DBI:DBD for Informix. I've successfully compiled, installed, and used
DBI:DBD for MySQL and PostgreSQL. This one, though has got me a bit stumped.
In doing perl Makefile.PL my compilation bombs at this point:
###############
...
lib/DBD/Informix/Defaults.pm written OK
esqlvrsn.h written OK
esqlinfo.h written OK
Testing whether your Informix test environment will work...
ESQLTEST Program Running:
@(#)$Id: esqltest.ec,v 100.3 2002/02/08 22:49:23 jleffler Exp $
$INFORMIXDIR is set to '/usr/local/informix'.
$INFORMIXSERVER is set to 'leeloo'.
$DBI_DBNAME unset - defaulting to 'stores'.
$DBD_INFORMIX_DATABASE unset - defaulting to 'stores'.
$DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'.
$DBD_INFORMIX_USERNAME is set to 'informix'.
$DBD_INFORMIX_USERNAME2 is set to 'informix'.
$DBD_INFORMIX_PASSWORD is set.
$DBD_INFORMIX_PASSWORD2 is set.
Testing connection to stores
CONNECT TO 'stores' with user info
SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
Testing concurrent connection to stores
CONNECT TO 'stores' with user info
SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
*** Your Informix environment is not usable
*** You must fix it before building or testing DBD::Informix
...
###############
Some details:
OS - Redhat Linux 6.2, kernel-2.2.24-6.2.3
Informix Online 5.10.UD1 installed and running
INFORMIX-ESQL Version 9.16.UC1
contents of /usr/local/informix/sqlhosts
# demo_on onipcshm on_hostname on_servername
# demo_se seipcpip se_hostname sqlexec
leelooshm onipcshm leeloo dummy
leeloosoc onsoctcp leeloo leeloo
Some Environments Info:
HOSTNAME=leeloo
HOSTTYPE=i386
INFORMIXDIR=/usr/local/informix
INFORMIXSERVER=leeloo
LD_LIBRARY_PATH=:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esqlOSTYPE=Linux
PATH=/usr/local/informix/bin:/usr/sbin:/sbin:.:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/informixSHELL=/bin/bash
SHLVL=1
SQLEXEC=/usr/local/informix/lib/sqlturbo
TERM=vt100
DBD_INFORMIX_PASSWORD2, DBD_INFORMIX_PASSWORD omitted from the environments listing here but set.
Any help or guidance would be appreciated.
Max
Professor Bruno wrote:
> Greetings,
>
> Perhaps this problem has been answered before, but my search of the web and newsgroups
> hasn't yielded any results. Apologies at the outset for not having able to find the
> answer on my own.
>
> I'm trying to compile DBI:DBD for Informix. I've successfully compiled, installed, and used
> DBI:DBD for MySQL and PostgreSQL. This one, though has got me a bit stumped.
>
> In doing perl Makefile.PL my compilation bombs at this point:
>
> ###############
> ...
>
> lib/DBD/Informix/Defaults.pm written OK
> esqlvrsn.h written OK
> esqlinfo.h written OK
>
> Testing whether your Informix test environment will work...
> ESQLTEST Program Running:
> @(#)$Id: esqltest.ec,v 100.3 2002/02/08 22:49:23 jleffler Exp $
> $INFORMIXDIR is set to '/usr/local/informix'.
> $INFORMIXSERVER is set to 'leeloo'.
> $DBI_DBNAME unset - defaulting to 'stores'.
> $DBD_INFORMIX_DATABASE unset - defaulting to 'stores'.
> $DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'.
> $DBD_INFORMIX_USERNAME is set to 'informix'.
> $DBD_INFORMIX_USERNAME2 is set to 'informix'.
> $DBD_INFORMIX_PASSWORD is set.
> $DBD_INFORMIX_PASSWORD2 is set.
> Testing connection to stores
> CONNECT TO 'stores' with user info
> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
>
> Testing concurrent connection to stores
> CONNECT TO 'stores' with user info
> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
>
>
> *** Your Informix environment is not usable
> *** You must fix it before building or testing DBD::Informix
> ...
> ###############
>
> Some details:
> OS - Redhat Linux 6.2, kernel-2.2.24-6.2.3
> Informix Online 5.10.UD1 installed and running
> INFORMIX-ESQL Version 9.16.UC1
>
>
>
> contents of /usr/local/informix/sqlhosts
> # demo_on onipcshm on_hostname on_servername
> # demo_se seipcpip se_hostname sqlexec
> leelooshm onipcshm leeloo dummy
> leeloosoc onsoctcp leeloo leeloo>
>
> Some Environments Info:
> HOSTNAME=leeloo
> HOSTTYPE=i386
> INFORMIXDIR=/usr/local/informix
> INFORMIXSERVER=leeloo
> LD_LIBRARY_PATH=:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql> OSTYPE=Linux
> PATH=/usr/local/informix/bin:/usr/sbin:/sbin:.:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/informix> SHELL=/bin/bash
> SHLVL=1
> SQLEXEC=/usr/local/informix/lib/sqlturbo
> TERM=vt100
>
> DBD_INFORMIX_PASSWORD2, DBD_INFORMIX_PASSWORD omitted from the environments listing here but set.
>
>
>
> Any help or guidance would be appreciated.
>
> Max
>
I've never used DBD but:
The sqlhosts file must be located in $INFORMIXDIR/etc/sqlhosts or
pointed to a location by $INFORMIXSQLHOSTS
You apparently don't have the $INFORMIXSQLHOSTS environment set and have
the file directly in $INFORMIXDIR instead of $INFORMIXDIR/etc
Regards
Fernando Nunes <spam@domus.online.pt> wrote: : Professor Bruno wrote: :> Greetings, :> :> Perhaps this problem has been answered before, but my search of the web and newsgroups :> hasn't yielded any results. Apologies at the outset for not having able to find the :> answer on my own. :> :> I'm trying to compile DBI:DBD for Informix. I've successfully compiled, installed, and used :> DBI:DBD for MySQL and PostgreSQL. This one, though has got me a bit stumped. :> :> In doing perl Makefile.PL my compilation bombs at this point: :> :> ############### :> ... :> :> lib/DBD/Informix/Defaults.pm written OK :> esqlvrsn.h written OK :> esqlinfo.h written OK :> :> Testing whether your Informix test environment will work... :> ESQLTEST Program Running: :> @(#)$Id: esqltest.ec,v 100.3 2002/02/08 22:49:23 jleffler Exp $ :> $INFORMIXDIR is set to '/usr/local/informix'. :> $INFORMIXSERVER is set to 'leeloo'. :> $DBI_DBNAME unset - defaulting to 'stores'. :> $DBD_INFORMIX_DATABASE unset - defaulting to 'stores'. :> $DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'. :> $DBD_INFORMIX_USERNAME is set to 'informix'. :> $DBD_INFORMIX_USERNAME2 is set to 'informix'. :> $DBD_INFORMIX_PASSWORD is set. :> $DBD_INFORMIX_PASSWORD2 is set. :> Testing connection to stores :> CONNECT TO 'stores' with user info :> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry. :> :> Testing concurrent connection to stores :> CONNECT TO 'stores' with user info :> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry. :> :> :> *** Your Informix environment is not usable :> *** You must fix it before building or testing DBD::Informix :> ... :> ############### :> :> Some details: :> OS - Redhat Linux 6.2, kernel-2.2.24-6.2.3 :> Informix Online 5.10.UD1 installed and running :> INFORMIX-ESQL Version 9.16.UC1 :> :> :> :> contents of /usr/local/informix/sqlhosts :> # demo_on onipcshm on_hostname on_servername :> # demo_se seipcpip se_hostname sqlexec :> leelooshm onipcshm leeloo dummy :> leeloosoc onsoctcp leeloo leeloo :> :> :> Some Environments Info: :> HOSTNAME=leeloo :> HOSTTYPE=i386 :> INFORMIXDIR=/usr/local/informix :> INFORMIXSERVER=leeloo :> LD_LIBRARY_PATH=:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql :> OSTYPE=Linux :> PATH=/usr/local/informix/bin:/usr/sbin:/sbin:.:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/informix :> SHELL=/bin/bash :> SHLVL=1 :> SQLEXEC=/usr/local/informix/lib/sqlturbo :> TERM=vt100 :> :> DBD_INFORMIX_PASSWORD2, DBD_INFORMIX_PASSWORD omitted from the environments listing here but set. :> :> :> :> Any help or guidance would be appreciated. :> :> Max :> : I've never used DBD but: : The sqlhosts file must be located in $INFORMIXDIR/etc/sqlhosts or : pointed to a location by $INFORMIXSQLHOSTS Ooops, typo on my part. sqlhosts is located in /usr/local/informix/etc : You apparently don't have the $INFORMIXSQLHOSTS environment set and have : the file directly in $INFORMIXDIR instead of $INFORMIXDIR/etc I set $INFORMIXSQLHOSTS but the installation still bombs in the same place. Further, I've tried installing both DBD-Informix-2003.04 and DBD-Informix-1.04.PC1 and both bomb in the same place on running perl Makefile.PL I have upgraded to DBI-1.37, btw. Thanks for your advice; would appreciate any further guidance to get through this. : Regards Max Pyziur
Pulling my own chain ...
Professor Bruno <pyz@panix.com> wrote:
: Fernando Nunes <spam@domus.online.pt> wrote:
: : Professor Bruno wrote:
: :> Greetings,
: :>
: :> Perhaps this problem has been answered before, but my search of the web and newsgroups
: :> hasn't yielded any results. Apologies at the outset for not having able to find the
: :> answer on my own.
: :>
: :> I'm trying to compile DBI:DBD for Informix. I've successfully compiled, installed, and used
: :> DBI:DBD for MySQL and PostgreSQL. This one, though has got me a bit stumped.
: :>
: :> In doing perl Makefile.PL my compilation bombs at this point:
: :>
: :> ###############
: :> ...
: :>
: :> lib/DBD/Informix/Defaults.pm written OK
: :> esqlvrsn.h written OK
: :> esqlinfo.h written OK
: :>
: :> Testing whether your Informix test environment will work...
: :> ESQLTEST Program Running:
: :> @(#)$Id: esqltest.ec,v 100.3 2002/02/08 22:49:23 jleffler Exp $
: :> $INFORMIXDIR is set to '/usr/local/informix'.
: :> $INFORMIXSERVER is set to 'leeloo'.
: :> $DBI_DBNAME unset - defaulting to 'stores'.
: :> $DBD_INFORMIX_DATABASE unset - defaulting to 'stores'.
: :> $DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'.
: :> $DBD_INFORMIX_USERNAME is set to 'informix'.
: :> $DBD_INFORMIX_USERNAME2 is set to 'informix'.
: :> $DBD_INFORMIX_PASSWORD is set.
: :> $DBD_INFORMIX_PASSWORD2 is set.
: :> Testing connection to stores
: :> CONNECT TO 'stores' with user info
: :> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
: :>
: :> Testing concurrent connection to stores
: :> CONNECT TO 'stores' with user info
: :> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
: :>
: :>
: :> *** Your Informix environment is not usable
: :> *** You must fix it before building or testing DBD::Informix
: :> ...
: :> ###############
: :>
: :> Some details:
: :> OS - Redhat Linux 6.2, kernel-2.2.24-6.2.3
: :> Informix Online 5.10.UD1 installed and running
: :> INFORMIX-ESQL Version 9.16.UC1
: :>
: :>
: :>
: :> contents of /usr/local/informix/sqlhosts
: :> # demo_on onipcshm on_hostname on_servername
: :> # demo_se seipcpip se_hostname sqlexec
: :> leelooshm onipcshm leeloo dummy
: :> leeloosoc onsoctcp leeloo leeloo
: :>
: :>
: :> Some Environments Info:
: :> HOSTNAME=leeloo
: :> HOSTTYPE=i386
: :> INFORMIXDIR=/usr/local/informix
: :> INFORMIXSERVER=leeloo
: :> LD_LIBRARY_PATH=:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql
: :> OSTYPE=Linux
: :> PATH=/usr/local/informix/bin:/usr/sbin:/sbin:.:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/informix
: :> SHELL=/bin/bash
: :> SHLVL=1
: :> SQLEXEC=/usr/local/informix/lib/sqlturbo
: :> TERM=vt100
: :>
: :> DBD_INFORMIX_PASSWORD2, DBD_INFORMIX_PASSWORD omitted from the environments listing here but set.
: :>
: :>
: :>
: :> Any help or guidance would be appreciated.
: :>
: :> Max
: :>
: : I've never used DBD but:
: : The sqlhosts file must be located in $INFORMIXDIR/etc/sqlhosts or
: : pointed to a location by $INFORMIXSQLHOSTS
: Ooops, typo on my part. sqlhosts is located in /usr/local/informix/etc
: : You apparently don't have the $INFORMIXSQLHOSTS environment set and have
: : the file directly in $INFORMIXDIR instead of $INFORMIXDIR/etc
: I set $INFORMIXSQLHOSTS but the installation still bombs in the same place.
: Further, I've tried installing both DBD-Informix-2003.04 and DBD-Informix-1.04.PC1
: and both bomb in the same place on running perl Makefile.PL
: I have upgraded to DBI-1.37, btw.
: Thanks for your advice; would appreciate any further guidance to get through this.
As a self-followup, my expeience with Informix installations on Linux has been
periodic. I have installed the following Informix pieces on my RH 6.2 box.
ONLINE 5.10.UD1
INFORMIX-SQL Version 7.20.UD1
INFORMIX-ESQL Version 9.51.UC1
INFORMIX-4GL Version 7.20.UD1
I've started and run ONLINE along with it's companion piece dbaccess. As yet, I
haven't tested ESQL or 4GL.
I've tried running Informix-SQL, but it fails.
Interestingly, I receive the same errors using Informix-SQL and trying to
run perl Makefile.PL.
Trying different scenarios, when $INFORMIXSERVER is set to 'leeloo' (per
the above mentioned sqlhosts file) I get the following error:
SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
When setting $INFORMIXSERVER to leeloosoc, adding the line 1536/tcp to /etc/services,
and turning ipchains off (the box connects to the Internet and has an ipchain firewall)
I get:
SQL: -908: Attempt to connect to database server (leeloosoc) failed.
ISAM: 107: ISAM error: record is locked.
When setting $INFORMIXSERVER to leelooshm with ipchains on (I'm not making a tcp/ip connection
here) I get:
Testing connection to stores
CONNECT TO 'stores' with user info
SQL: -25588: The appl process cannot connect to the database server leelooshm.
ISAM: 2: No such file or directory
If anyone can shed any light on this ...
Much thanks.
: : Regards
: Max Pyziur
[recycle]
Wow.... ;)
Let's look at your setup carefully:
SQLHOSTS:
# demo_on onipcshm on_hostname on_servername
# demo_se seipcpip se_hostname sqlexec
leelooshm onipcshm leeloo dummy
leeloosoc onsoctcp leeloo leeloo
the columns are as follow:
1st - INFORMIXSERVER name
2nd - Protocolo (usually onsoctcp or onipcshm
3rd - hostname (be sure your environment can ping it)
4th - service name ou port (if name must be specified in /etc/services)
So, if you have "leelosoc" on the 1st column you muste use it and not leeloo.
The other errors (no such file...) can be due to bad onconfig (tbconfig if online 5).
Take a good look at "SERVERNAME" and "DBSERVERALIAS". You must configure a name for each "name" you want it to answer.
So, if you want SOC and SHM you must user both entries. For instance, SERVERNAME=leeloosoc and DBSERVERALIAS=leelooshm
Regards.
Your INFORMIXSERVER is set the host name and not leelooshm/soc
Professor Bruno wrote:
>
> Greetings,
>
> Perhaps this problem has been answered before, but my search of the web and newsgroups
> hasn't yielded any results. Apologies at the outset for not having able to find the
> answer on my own.
>
> I'm trying to compile DBI:DBD for Informix. I've successfully compiled, installed, and used
> DBI:DBD for MySQL and PostgreSQL. This one, though has got me a bit stumped.
>
> In doing perl Makefile.PL my compilation bombs at this point:
>
> ###############
> ...
>
> lib/DBD/Informix/Defaults.pm written OK
> esqlvrsn.h written OK
> esqlinfo.h written OK
>
> Testing whether your Informix test environment will work...
> ESQLTEST Program Running:
> @(#)$Id: esqltest.ec,v 100.3 2002/02/08 22:49:23 jleffler Exp $
> $INFORMIXDIR is set to '/usr/local/informix'.
> $INFORMIXSERVER is set to 'leeloo'.
> $DBI_DBNAME unset - defaulting to 'stores'.
> $DBD_INFORMIX_DATABASE unset - defaulting to 'stores'.
> $DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'.
> $DBD_INFORMIX_USERNAME is set to 'informix'.
> $DBD_INFORMIX_USERNAME2 is set to 'informix'.
> $DBD_INFORMIX_PASSWORD is set.
> $DBD_INFORMIX_PASSWORD2 is set.
> Testing connection to stores
> CONNECT TO 'stores' with user info
> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
>
> Testing concurrent connection to stores
> CONNECT TO 'stores' with user info
> SQL: -25596: The INFORMIXSERVER value is not listed in the sqlhosts file or the Registry.
>
> *** Your Informix environment is not usable
> *** You must fix it before building or testing DBD::Informix
> ...
> ###############
>
> Some details:
> OS - Redhat Linux 6.2, kernel-2.2.24-6.2.3
> Informix Online 5.10.UD1 installed and running
> INFORMIX-ESQL Version 9.16.UC1
>
> contents of /usr/local/informix/sqlhosts
> # demo_on onipcshm on_hostname on_servername
> # demo_se seipcpip se_hostname sqlexec
> leelooshm onipcshm leeloo dummy
> leeloosoc onsoctcp leeloo leeloo>
> Some Environments Info:
> HOSTNAME=leeloo
> HOSTTYPE=i386
> INFORMIXDIR=/usr/local/informix
> INFORMIXSERVER=leeloo
> LD_LIBRARY_PATH=:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql:/usr/local/informix/lib:/usr/local/informix/lib/esql> OSTYPE=Linux
> PATH=/usr/local/informix/bin:/usr/sbin:/sbin:.:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/informix> SHELL=/bin/bash
> SHLVL=1
> SQLEXEC=/usr/local/informix/lib/sqlturbo
> TERM=vt100
>
> DBD_INFORMIX_PASSWORD2, DBD_INFORMIX_PASSWORD omitted from the environments listing here but set.
>
> Any help or guidance would be appreciated.
>
> Max
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #