Re: Perl & Client SDK
Posted in 2005
Jonathan Leffler wrote: > tomcaml@yahoo.com wrote: > > Hello > > > > I have been asked by a developer to post this. He has the Client SDK > > and an Informix environment set up but cannot get a compile without > > errors. Any help is appreciated.... > > > > I did a clean compile of Perl 5.8.6 and all modules. We still get the > > same error. Here are the answers to your questions: > > > > * Version of Perl (5.8.6) > > 5.8.6 > > * Version of DBI (1. 48 - you said current) > > 1.48 > > * Version of DBD::Informix (2005.01 - you said current) > > 2005.01 > > * Version of CSDK or ESQL/C (e.g. 2.90.FC1 - the letters and numbers > > can be important) > > 2.81.HC2.HPUX > > * Version of IDS (or SE, XPS, OnLine) - though that is not going to > > material this time. > > Not sure what you are asking here, sorry. > > * Hardware platform (HP-UX, probably PA-RISC rather than Itanium, > > 32-bit or 64-bit). > > 64 bit PA-RISC > > * O/S Version. > > 11.11 (11.i) > > * Which C compiler you're using - version number\\ > > GCC 3.4.2 > > * Output of 'perl -V' > > XXX:/home/edi/wlsedi/perl/DBD-Informix-2005.01# perl -V > > Summary of my perl5 (revision 5 version 8 subversion 6) configuration: > > Platform: > > osname=hpux, osvers=11.11, archname=PA-RISC2.0 > > uname='hp-ux l02 b.11.11 u 9000800 135901537 unlimited-user license > > ' > > config_args='-Dcc=gcc -d' > > hint=recommended, useposix=true, d_sigaction=define > > usethreads=undef use5005threads=undef useithreads=undef > > usemultiplicity=undef > > useperlio=define d_sfio=undef uselargefiles=define usesocks=undef > > use64bitint=undef use64bitall=undef uselongdouble=undef > > usemymalloc=n, bincompat5005=undef > > Compiler: > > cc='gcc', ccflags ='-D_HPUX_SOURCE -mpa-risc-2-0 -DDEBUGGING > > -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE > > -D_FILE_OFFSET_BITS=64', > > optimize='-g -O', > > cppflags='-D_HPUX_SOURCE -D_HPUX_SOURCE -mpa-risc-2-0 -DDEBUGGING > > -fno-strict-aliasing -pipe -I/usr/local/include' > > ccversion='', gccversion='3.4.2', gccosandvers='hpux11.11' > > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 > > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > > lseeksize=8 > > alignbytes=8, prototype=define > > Linker and Libraries: > > ld='/usr/bin/ld', ldflags =' -L/usr/local/lib' > > libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib > > libs=-lnsl -lnm -lndbm -lmalloc -ldld -lm -lcrypt -lsec -lc > > perllibs=-lnsl -lnm -lmalloc -ldld -lm -lcrypt -lsec -lc > > libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a > > gnulibc_version='' > > Dynamic Linking: > > dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E > > -Wl,-B,deferred ' > > cccdlflags='-fPIC', lddlflags='-b -L/usr/local/lib' > > > > > > Characteristics of this binary (from libperl): > > Compile-time options: DEBUGGING USE_LARGE_FILES > > Built under hpux > > Compiled at Apr 6 2005 12:52:28 > > @INC: > > /opt/perl5/lib/5.8.6/PA-RISC2.0 > > /opt/perl5/lib/5.8.6 > > /opt/perl5/lib/site_perl/5.8.6/PA-RISC2.0 > > /opt/perl5/lib/site_perl/5.8.6 > > /opt/perl5/lib/site_perl > > * Did you build this perl or is it one supplied with the o/s. > > New biild > > * Did you build this perl on this machine. > > Yes > > * Output of 'perl Makefile.PL'. > > Don't have that. Could re-install if necessary. > > * Have you built any programs with the CSDK you have installed? > > No, this is a new client for us. > > * What happened when you tried to build esqlbasic as directed in the > > README file? > > XXX:/home/edi/wlsedi/perl/perl-5.8.6# esql -o esqlbasic.ec > > (Bundled) cc: warning 480: The +Ofastaccess option is available only > > with the C/ANSI C product; ignored. > > ld: Unsatisfied symbol "main" in file <no file> > > 1 errors. > > Either the person on whose behalf you posted this is also talking to me > in the dbi-users mailing list or you just coincidentally have the exact > same symptoms of the problem - down to the same idiosyncratic > 2.81.HC2.HPUX version number on CSDK. > > When I was sent the actual output of the 'perl Makefile.PL' script, it > turned out that the ESQL/C version was 2.81.FC2 - not HC2 - and the > 32-bit Perl was never going to be able to use the 64-bit CSDK. My > recommendation is to obtain the 32-bit 2.81.UC2 (or 2.81.HC2) version of > CSDK. The alternative is to work out how to make GCC generate 64-bit > code - I know how to do that for Solaris, but there isn't an obvious > mechanism in the HP-UX version - even after scanning 'gcc --help-target' > output. > > > I suspect the issue is with our SDK client. I am not sure where it > > needs to be installed. We have database connectivity on this machine > > via ODBC. I understand that may be an alternative. Our database > > servers are remote. I have conulted our DBAs and they just are not > > familiar with the SDK client, etc. > > > > Thanks for any help you can offer. Please let me know if you need > > addtional details. > > > > > -- > Jonathan Leffler #include <disclaimer.h> > Email: jleffler@earthlink.net, jleffler@us.ibm.com > Guardian of DBD::Informix v2005.01 -- http://dbi.perl.org/ Hi all, I would like to focus your attention on the following point: * Version of IDS (or SE, XPS, OnLine) - though that is not going to material this time. Not sure what you are asking here, sorry. * Have you built any programs with the CSDK you have installed? No, this is a new client for us. * Version of CSDK or ESQL/C (e.g. 2.90.FC1 - the letters and numbers can be important) 2.81.HC2.HPUX my suggestions: 1) check if the client sdk is installed properly. - Check the variables: INFORMIXDIR INFORMIXSERVER PATH LD_LIBRARY_PATH - Check the sqlhosts file /....client sdk directory..../etc/sqlhosts - be sure that the database stores_demo exist and contail the table customer. - Try to compile and execute a program Go in the following directory /....client sdk ..../demo/esqlc there is a file named demo1.ec you can try to compile the file with this command: esql demo1.ec -o filename executing the file you should receive something like: DEMO1 Sample ESQL Program running. Lana Beatty Frank Albertson Dick Baxter DEMO1 Sample Program over. If you'll receive an error you can have more information executing the following command: /....client sdk ... /bin/finderr error_number if this is not working you can't proceed to use perl and his module to connect to informix. 2) double check the client sdk version vi / .... client sdk directory ..../etc/SQLI-cr