On Thu, Jul 31, 2008 at 8:16 AM, Curtis Leach <[EMAIL PROTECTED]> wrote:

> I'm running into a problem installing DBD-Informix.
>
> I'm running Perl version 5.8.2 on AIX against Informix 10 with the
> current DBI.
>

Well, given what you say below, I shouldn't carp too much about 5.8.2 being
rather ancient.


> The version of the Informix SDK is 2.01, with no option to upgrade since
> later releases enforce XA compliance and regrettably a lot of our other
> non-perl code isn't XA Compliant and breaks.
>

CSDK 2.01 -- that would be from 1996 or 1997, I believe.

You have at least one upgrade option - install a modern CSDK (3.00, 3.50)
into a new INFORMIXDIR (separate from where you have CSDK 2.01 installed),
and build DBD::Informix against that new version.  You would copy (or,
better, link) the sqlhosts file from the INFORMIXDIR containing the archaic
CSDK to the INFORMIXDIR containing the new code.  You might want to futz
INFORMIXDIR when running Perl to point to the new INFORMIXDIR, but it should
mostly work even if you use the old one by accident.

Failing that, disable the testing -- edit Makefile.PL to let CSDK 2.01
through.  I've not consciously put anything in that will break - as long as
you get the ESQL/C version number right (9.14).
However, it most certainly won't be supported.

The check is:

elsif ($effvernum >= 900 && $effvernum < 916)
{
    # ESQL/C 9.0x and 9.10 or 9.11 were pre-releases of the ESQL/C for
    # the Informix Universal Server (IUS) - since renamed several times.
    # ESQL/C 9.12 was released as ESQL/C 9.12.
    # ESQL/C 9.13 was released in DevSDK 2.00
    # ESQL/C 9.14 was released in ClientSDK 2.01
    # ESQL/C 9.15 was released in ClientSDK 2.02
    # All of these are long obsolete and are no longer supported.
    dbd_ix_die &nlws(qq%
            This version of ESQL/C ($infversion) is obsolete.
            Please upgrade to ClientSDK version 2.70 or later.
            %);
}

Comment out the dbd_ix_die() call, or replace dbd_ix_die with warn.

You could go back and get a really old DBD::Informix and a matching DBI -- I
wouldn't recommend it, but you could do it.

I also won't guarantee that everything will compile - much less work - but
there's a semi-decent chance.  The code does still compile with ESQL/C 5.20
(which is much older than the 9.x versions of ESQL/C, and also older than
the 2.x and 3.x versions of ESQL/C, where 3.50 is the current vesion - don't
ask, because I don't need my blood-pressure to rise again), so the
functionality missing in 9.14 that is present in the latest versions (3.50)
should also be excluded for 9.14.


> The Makefile.PL logic says that our SDK is too old.
>

The Makefile.PL logic is correct - your SDK is too old.  I probably declared
CSDK 2.01 obsolete about 5 or 6 years ago.


> So is there an earlier release of DBD-Informix out there we could
> attempt to use?  Or does anyone know how to tweak the current release to
> make this work?  Or any other suggestions?
>
> We've tried both DBD-Informix-2008.0513 & DBD-Informix-2007.0914 without
> luck.
>

If you can't find old versions out on backpan.cpan.org let me know which
version you want to experiment with - and provide me with a convenient way
to get files to you (FTP site, for example).

-- 
Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."

Reply via email to