[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dbi-dev
Subject:    Problem compiling DBD::Informix-0.60 on HP-UX/10.20
From:       Graham TerMarsch <gtermars () home ! com>
Date:       1999-01-05 22:00:25
[Download RAW message or body]

*** From dbi-users -- To unsubscribe, see the end of this message. ***

This is a multi-part message in MIME format.

Been sitting here trying to get DBD-Informix to compile properly on one of the
HPUX/10.20 machines I'm doing work on, and haven't had a bit of luck in
getting this to work yet.  I've gone through following the instructions as
outlined in the hints/static-build file telling me how to build a static
version of Perl that has DBD::Informix linked to it (and that works), but that
also creates a binary in which I cannot make use of _any_ other modules which
are brought in via DynaLoader.  When we did manage to get it to compile
properly, we found that we couldn't run the test suites as they all tried to
use shared linkage on the test programs while the libraries on the system are
_only_ there for static linking (libV3).

My biggest problem is that this is a machine for a client that cannot upgrade
things further; we've already gone through upgrading the OS from HPUX/10.10 so
that we could get the static build and thought that we had it licked at that
point.  Can't upgrade Informix either at this point, but do need to get this
thing working.

Any and all help, suggestions, ideas, or whatever would be appreciated.... 
Please note that I'm _not_ subscribed to the DBI-Users mailing list, so please
respond directly (gtermars@home.com).

I've attached to this message all of the information that was requested out of
the README for DBD::Informix-0.60.  I think the problem that I'm seeing falls
into category B or C.

-- 
Graham TerMarsch
["01-perl_makefile_pl.out" (text/plain)]

Configuring DBD::Informix version 0.60...
	You are using DBI version 1.01 and Perl version 5.00404
Remember to actually read the README file!

Using INFORMIX-ESQL Version 9.16.UC1 from /app/informix

Beware: DBD::Informix is not yet aware of the new IUS data types.
It will work with traditional data types, but will fail badly
on any data types which were not in earlier versions of OnLine.


DBD::Informix doesn't check whether ODBC or Informix-CLI software
is installed any more.  It uses a home-brew odbctype.h instead.

Testing whether your Informix test environment will work...
ESQLTEST Program Running:
@(#)$Id: esqltest.ec,v 60.2 1998/06/16 16:45:28 jleffler Exp $
	$DBI_DBNAME set to 'stores7'.
	$DBD_INFORMIX_DATABASE unset - defaulting to 'stores7'.
	$DBD_INFORMIX_DATABASE2 set to 'stores7'.
	$DBD_INFORMIX_SERVER unset - defaulting to $INFORMIXSERVER 'ifmx_online'.
	$DBD_INFORMIX_USERNAME is set to 'informix'.
	$DBD_INFORMIX_PASSWORD is set.
Testing connection to stores7@ifmx_online
	CONNECT with user info (connection_1)
Testing concurrent connection to stores7
	CONNECT with user info (connection_2)
Your Informix environment is OK


	Uh oh!  We're on a machine which does not use the C compiler to
	create shared libraries.  Please consider recompiling Perl using
	the C compiler to create shared libraries; it makes life easier for
	everyone!
	Fortunately, you are using a new version of ESQL/C and
we could use 'esql -libs' to tell us which libraries to use.
Unfortunately, some versions of the esql script fib and
don't tell us the whole truth.  So we have to do a fiddly
workaround, editing the esql script on the fly and feeding
the edited version to the shell and ...  Oh, you really don't
really want to know what we do; it's horrid but it works!
... We are going to use the library list:
-L/app/informix/lib -L/app/informix/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls \
-lnsl_s -lm -lV3 -lcl -lsec /app/informix/lib/esql/checkapi.o -lifglx 

Perl:     perl5.00404 PA-RISC1.1 dl_hpux.xs
System:   hp-ux ness b.10.20 a 9000777 2011764956 two-user license 
Compiler: cc -O +Onolimit -Ae
Loader:   ld

Using DBI 1.01 installed in /opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI
Writing Makefile for DBD::Informix


["02-make.out" (text/plain)]

	/usr/bin/perl -I/opt/perl5/lib/PA-RISC1.1/5.00404 -I/opt/perl5/lib \
/opt/perl5/lib/ExtUtils/xsubpp  -typemap /opt/perl5/lib/ExtUtils/typemap Informix.xs \
>xstmp.c && mv xstmp.c Informix.c  cc -c -I/app/informix/incl/esql \
> -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae -O +Onolimit     \
> -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
> -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
> Informix.c
	INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES dbdimp.ec  rm -f dbdimp.c
	INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES dbdattr.ec  rm -f dbdattr.c
	cc -c -I/app/informix/incl/esql -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae \
-O +Onolimit     -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
-I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
sqltoken.c  INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c \
-I/app/informix/incl/esql -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O \
+Onolimit     -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
-I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
sqltype.ec  rm -f sqltype.c
	INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES ixblob.ec  rm -f ixblob.c
	cc -c -I/app/informix/incl/esql -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae \
-O +Onolimit     -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
-I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
decsci.c  cc -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES odbctype.c  cc -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES link.c  INFORMIXC="/usr/bin/perl esqlcc" \
ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES esqlc_v6.ec  rm -f esqlc_v6.c
Running Mkbootstrap for DBD::Informix ()
	chmod 644 Informix.bs
	LD_RUN_PATH="" ld -b -s -a shared -L/lib -lV3 -o \
./blib/arch/auto/DBD/Informix/Informix.sl  -b -s -a shared Informix.o dbdimp.o \
dbdattr.o sqltoken.o sqltype.o ixblob.o decsci.o odbctype.o link.o esqlc_v6.o \
-L/app/informix/lib -L/app/informix/lib/esql -L/app/informix/lib \
-L/app/informix/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -lnsl_s -lm -lV3 -lcl \
                -lsec /app/informix/lib/esql/checkapi.o -lifglx     
ld: Can't find library for -lV3
*** Error exit code 1

Stop.


["02-make_static.out" (text/plain)]

	/usr/bin/perl -p -e "s/~DRIVER~/Informix/g" < \
/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI/Driver.xst > Informix.xsi  /usr/bin/perl \
-I/opt/perl5/lib/PA-RISC1.1/5.00404 -I/opt/perl5/lib /opt/perl5/lib/ExtUtils/xsubpp  \
-typemap /opt/perl5/lib/ExtUtils/typemap Informix.xs >xstmp.c && mv xstmp.c \
Informix.c  cc -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES Informix.c  INFORMIXC="/usr/bin/perl esqlcc" \
ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES dbdimp.ec  rm -f dbdimp.c
	INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES dbdattr.ec  rm -f dbdattr.c
	cc -c -I/app/informix/incl/esql -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae \
-O +Onolimit     -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
-I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
sqltoken.c  INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c \
-I/app/informix/incl/esql -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O \
+Onolimit     -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
-I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
sqltype.ec  rm -f sqltype.c
	INFORMIXC="/usr/bin/perl esqlcc" ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES ixblob.ec  rm -f ixblob.c
	cc -c -I/app/informix/incl/esql -I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae \
-O +Onolimit     -DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z \
-I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE -DESQLC_VERSION=916 -DUSE_PROTOTYPES \
decsci.c  cc -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES odbctype.c  cc -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES link.c  INFORMIXC="/usr/bin/perl esqlcc" \
ESQLCC="cc" esql -c -I/app/informix/incl/esql \
-I/opt/perl5/lib/site_perl/PA-RISC1.1/auto/DBI  -Ae -O +Onolimit     \
-DVERSION=\"0.60\"  -DXS_VERSION=\"0.60\" +z -I/opt/perl5/lib/PA-RISC1.1/5.00404/CORE \
-DESQLC_VERSION=916 -DUSE_PROTOTYPES esqlc_v6.ec  rm -f esqlc_v6.c
mkdir ./blib
mkdir ./blib/arch
mkdir ./blib/arch/auto
mkdir ./blib/arch/auto/DBD
mkdir ./blib/arch/auto/DBD/Informix
	rm -rf ./blib/arch/auto/DBD/Informix/Informix.a
	ar cr ./blib/arch/auto/DBD/Informix/Informix.a Informix.o dbdimp.o dbdattr.o \
sqltoken.o sqltype.o ixblob.o decsci.o odbctype.o link.o esqlc_v6.o && : \
./blib/arch/auto/DBD/Informix/Informix.a  chmod 755 \
./blib/arch/auto/DBD/Informix/Informix.a


["03-test_static.out" (text/plain)]

	LD_RUN_PATH="" ld -b -s -a shared -L/lib -lV3 -o \
./blib/arch/auto/DBD/Informix/Informix.sl  -b -s -a shared Informix.o dbdimp.o \
dbdattr.o sqltoken.o sqltype.o ixblob.o decsci.o odbctype.o link.o esqlc_v6.o \
-L/app/informix/lib -L/app/informix/lib/esql -L/app/informix/lib \
-L/app/informix/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -lnsl_s -lm -lV3 -lcl \
                -lsec /app/informix/lib/esql/checkapi.o -lifglx     
ld: Can't find library for -lV3
*** Error exit code 1

Stop.


["04-test_one_t00basic.out" (text/plain)]

1..49
# Testing: DBI->install_driver('Informix')
ok 1
# DBI Information
#     Version:               1.01
# Generic Driver Information
#     Type:                  dr
#     Name:                  Informix
#     Version:               0.60
#     Attribution:           By Jonathan Leffler
# Informix Driver Information
#     Product:               INFORMIX-ESQL Version 9.16.UC1
#     Product Version:       916
#     Multiple Connections:  1
#     Active Connections:    0
#     Current Connection:    <<no current connection>>
# 
# DBI->connect('dbi:Informix:stores@ifmx_online', 'informix', 'XXXXXX');
SQL: -329: Database not found or no system permission.
ISAM: -111: ISAM error:  no record found.
 at blib/lib/DBD/InformixTest.pm line 74
!! Terminating Test !!
not ok 2
# Error Message:
# SQL: -329: Database not found or no system permission.
# ISAM: -111: ISAM error:  no record found.
# SQLSTATE = IX000

["05-env_sort.out" (text/plain)]

CC=/opt/gcc/bin/gcc
COLUMNS=159
DBD_INFORMIX_DATABASE2=stores7
DBD_INFORMIX_DATABASE=
DBD_INFORMIX_PASSWORD=nic1st
DBD_INFORMIX_USERNAME=informix
DBI_DBNAME=stores7
ERASE=^H
INFORMIXDIR=/app/informix
INFORMIXSERVER=ifmx_online
INFORMIXSQLHOSTS=/app/informix/etc/sqlhosts.ifmx
LINES=24
LOGNAME=webguest
MAIL=/var/mail/webguest
MANPATH=/usr/share/man/%L:/usr/share/man:/usr/contrib/man/%L:/usr/contrib/man:/usr/loc \
al/man/%L:/usr/local/man:/opt/pd/share/man/%L:/opt/pd/share/man:/opt/blinklink/share/m \
an:/opt/ansic/share/man/%L:/opt/ansic/share/man:/opt/langtools/share/man/%L:/opt/langtools/share/man
 PATH=/opt/gcc/bin:/opt/gcc/bin:/usr/bin:/usr/sbin:/sbin:/app/informix/bin
PS1=# 
PWD=/home/webguest/tmpdbd/DBD-Informix-0.60
SHELL=/usr/bin/sh
TERM=xterm
TZ=PST8PDT
_=/usr/bin/env


["06-perl_V.out" (text/plain)]

Summary of my perl5 (5.0 patchlevel 4 subversion 4) configuration:
  Platform:
    osname=hpux, osvers=10, archname=PA-RISC1.1
    uname='hp-ux ness b.10.20 a 9000777 2011764956 two-user license '
    hint=previous, useposix=true, d_sigaction=define
    bincompat3=y useperlio=undef d_sfio=undef
  Compiler:
    cc='cc', optimize='-O +Onolimit', gccversion=
    cppflags='-Ae'
    ccflags ='-Ae'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    voidflags=15, castflags=0, d_casti32=define, d_castneg=define
    intsize=4, alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =''
    libpth=/usr/local/lib /usr/lib/pa1.1 /lib /usr/lib /usr/ccs/lib
    libs=/usr/lib/libnet.a -lndbm /usr/lib/libmalloc.a /usr/lib/libdld.sl -lm -lc \
/usr/lib/libndir.a /usr/lib/libcrypt.a  libc=/lib/libc.sl, so=sl
    useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred '
    cccdlflags='+z', lddlflags='-b -s -a shared'


Characteristics of this binary (from libperl): 
  Built under hpux
  Compiled at Dec 24 1997 15:29:43
  @INC:
    /opt/perl5/lib/PA-RISC1.1/5.00404
    /opt/perl5/lib
    /opt/perl5/lib/site_perl/PA-RISC1.1
    /opt/perl5/lib/site_perl
    .


["07-esql_V.out" (text/plain)]

INFORMIX-ESQL Version 9.16.UC1  
Software Serial Number ACN#XXXXXXX

["08-dbaccess_V.out" (text/plain)]

DB-Access Version 7.22.UC1  
Software Serial Number AAB#XXXXXXX

["09-onstat_V.out" (text/plain)]

INFORMIX-OnLine Version 7.22.UC1   Software Serial Number AAB#XXXXXXX

------------------------------------------------------------------------------
To unsubscribe from this list, please visit http://www.fugue.com/dbi
If you are without web access, or if you are having trouble with the web page,
please send mail to dbi-request@fugue.com.   Please try to use the web
page first - it will take a long time for your request to be processed by hand.
------------------------------------------------------------------------------


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic