RE: Informix DBD, PERL and esql
Posted in 2005
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues, Internationalization & Character Sets, Versions, Editions & End-of-Life
After stripping every flag out of the esql program that it whined about I get down to: gcc: CC_TH=gcc: No such file or directory In file included from /usr/include/sys/localedef.h:46, from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdlib.h: 538, from esqlbasic.ec:25: /usr/include/sys/localedef31.h:195: error: conflicting types for `loc_t' /opt/informix/IDS_9.40.FC6/incl/esql/locator.h:123: error: previous declaration of `loc_t' This is my last post on this, hate to torment you folks with my lack of gcc prowess. No comments from you OTC! :) Thanks again, Sam -----Original Message----- From: owner-informix-list@iiug.org [mailto:owner-informix-list@iiug.org] On Behalf Of Gentsch, Sam Sent: Thursday, June 23, 2005 5:50 PM To: informix-list@iiug.org Subject: RE: Informix DBD, PERL and esql sorry I suck. When running esql -o esqlbasic esqlbasic.ec -----Original Message----- From: Gentsch, Sam Sent: Thursday, June 23, 2005 4:08 PM To: informix-list@iiug.org Subject: Informix DBD, PERL and esql Actually this is a esqlc problem and may be because we are trying to use gcc instead of cc_r I receive gcc: '-b' must come at the start of the command line Or cc: '-b' must come at the start of the command line if INFORMIXC not set. IBM Support said there was a bug for 4gl basically saying gcc does not work with it and they were not planning on fixing it (and the support guy said that meant it was true for ESQLC too) So has anyone managed to overcome this problem and successfully use gcc with AIX 5.3? Hopefully, I am missing something simple. Thanks a lot! Sam System info follows (probably more than you want) Perl: perl v5.008007 aix-64all dl_aix.xs System: aix aix 3 5 00cc339e4c00 (5.3) Using INFORMIXDIR=/opt/informix/IDS_9.40.FC6 and ESQL/C compiler esql Using IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.FC3 from /opt/informix/IDS_9.40.FC6 DBI 1.48 installed IDS 9.40FC6, with a stores gcc: 3.3.2 Have INFORMIXC=gcc DBD_INFORMIX_ESQLC_LINKAGE='-b' //tried it anyways Changed LD_LIBRARY_PATH to LIBPATH since on AIX Big -V stuff: gcc -v Reading specs from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/specs Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --disable-nls --enable-languages=c,c++ --prefix=/opt/freeware --enable-threads --enable-version-specific-runtime-libs --host=powerpc-ibm-aix5.2.0.0 Thread model: aix gcc version 3.3.2 perl -V Summary of my perl5 (revision 5 version 8 subversion 7) configuration: Platform: osname=aix, osvers=5.3.0.0, archname=aix-64all uname='aix aix 3 5 00cc339e4c00 ' config_args='-Dcc=gcc' 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=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -maix64 -DUSE_64_BIT_ALL', optimize='-O', cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe' ccversion='', gccversion='3.3.2', gccosandvers='aix5.2.0.0' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc -maix64', ldflags =' -Wl,-brtl -Wl,-bdynamic -Wl,-bmaxdata:0x80000000 -maix64 -Wl,-b64' libpth=/lib /usr/lib /usr/ccs/lib libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lc -lbsd perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lc -lbsd libc=, so=a, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Xlinker -bE:/usr/lib/perl5/5.8.7/aix-64all/CORE/perl.exp' cccdlflags=' ', lddlflags=' -Wl,-b64 -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G -Wl,-bnoentry -lc' Characteristics of this binary (from libperl): Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES Built under aix Compiled at Jun 23 2005 11:54:26 @INC: /usr/lib/perl5/5.8.7/aix-64all /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/aix-64all /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl sending to informix-list sending to informix-list
this is some time ago.... may be off here... please check rel.notes regarding loc_t; on aix you may get a clash with a system header with loc_t. afaikr there is some kind of switch you have to use in order to overcome this... i think this is doc'ed in the release notes. Superboer. -- Jonathan comments please. Gentsch, Sam schreef: > After stripping every flag out of the esql program that it whined about > I get down to: > gcc: CC_TH=gcc: No such file or directory > In file included from /usr/include/sys/localedef.h:46, > from > /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdlib.h: > 538, > from esqlbasic.ec:25: > /usr/include/sys/localedef31.h:195: error: conflicting types for > `loc_t' > /opt/informix/IDS_9.40.FC6/incl/esql/locator.h:123: error: previous > declaration of `loc_t' > > This is my last post on this, hate to torment you folks with my lack of > gcc prowess. > No comments from you OTC! :) > > Thanks again, > Sam > > > -----Original Message----- > From: owner-informix-list@iiug.org [mailto:owner-informix-list@iiug.org] > On Behalf Of Gentsch, Sam > Sent: Thursday, June 23, 2005 5:50 PM > To: informix-list@iiug.org > Subject: RE: Informix DBD, PERL and esql > > sorry I suck. > > When running esql -o esqlbasic esqlbasic.ec > > -----Original Message----- > From: Gentsch, Sam > Sent: Thursday, June 23, 2005 4:08 PM > To: informix-list@iiug.org > Subject: Informix DBD, PERL and esql > > Actually this is a esqlc problem and may be because we are trying to use > gcc instead of cc_r > > I receive > gcc: '-b' must come at the start of the command line Or cc: '-b' must > come at the start of the command line if INFORMIXC not set. > > IBM Support said there was a bug for 4gl basically saying gcc does not > work with it and they were not planning on fixing it (and the support > guy said that meant it was true for ESQLC too) > > So has anyone managed to overcome this problem and successfully use gcc > with AIX 5.3? > > Hopefully, I am missing something simple. > > Thanks a lot! > > Sam > > System info follows (probably more than you want) > > Perl: perl v5.008007 aix-64all dl_aix.xs > System: aix aix 3 5 00cc339e4c00 (5.3) > Using INFORMIXDIR=/opt/informix/IDS_9.40.FC6 and ESQL/C compiler esql > Using IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.FC3 > from /opt/informix/IDS_9.40.FC6 DBI 1.48 installed IDS 9.40FC6, with a > stores > gcc: 3.3.2 > > Have INFORMIXC=gcc > DBD_INFORMIX_ESQLC_LINKAGE='-b' //tried it anyways Changed > LD_LIBRARY_PATH to LIBPATH since on AIX > > > > Big -V stuff: > gcc -v > Reading specs from > /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/specs > Configured with: ../configure --with-as=/usr/bin/as > --with-ld=/usr/bin/ld --disable-nls --enable-languages=c,c++ > --prefix=/opt/freeware --enable-threads > --enable-version-specific-runtime-libs --host=powerpc-ibm-aix5.2.0.0 > Thread model: aix gcc version 3.3.2 > > perl -V > Summary of my perl5 (revision 5 version 8 subversion 7) configuration: > Platform: > osname=aix, osvers=5.3.0.0, archname=aix-64all > uname='aix aix 3 5 00cc339e4c00 ' > config_args='-Dcc=gcc' > 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=define use64bitall=define uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='gcc', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE > -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -maix64 > -DUSE_64_BIT_ALL', > optimize='-O', > cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE > -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe' > ccversion='', gccversion='3.3.2', gccosandvers='aix5.2.0.0' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 > ivtype='long long', ivsize=8, nvtype='double', nvsize=8, > Off_t='off_t', lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='gcc -maix64', ldflags =' -Wl,-brtl -Wl,-bdynamic > -Wl,-bmaxdata:0x80000000 -maix64 -Wl,-b64' > libpth=/lib /usr/lib /usr/ccs/lib > libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lc -lbsd > perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lc -lbsd > libc=, so=a, useshrplib=false, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Xlinker > -bE:/usr/lib/perl5/5.8.7/aix-64all/CORE/perl.exp' > cccdlflags=' ', lddlflags=' -Wl,-b64 -Wl,-bhalt:4 -Wl,-bexpall > -Wl,-G -Wl,-bnoentry -lc' > > > > > Characteristics of this binary (from libperl): > Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES > Built under aix > Compiled at Jun 23 2005 11:54:26 > @INC: > /usr/lib/perl5/5.8.7/aix-64all > /usr/lib/perl5/5.8.7 > /usr/lib/perl5/site_perl/5.8.7/aix-64all > /usr/lib/perl5/site_perl/5.8.7 > /usr/lib/perl5/site_perl > > > sending to informix-list > > > > > sending to informix-list
ahum did a quick search for aix and loc_t ... check out -D_H_LOCALEDEF Superboer.
Superboer wrote: > ahum did a quick search for aix and > loc_t ... > check out > > -D_H_LOCALEDEF Yes - that was a major part of the problem. Sam now has a severely hacked AIX-specific ESQL/C script that works with GCC. -- Jonathan Leffler #include <disclaimer.h> Email: jleffler@earthlink.net, jleffler@us.ibm.com Guardian of DBD::Informix v2005.01 -- http://dbi.perl.org/