Re: newbie esql question
Posted in 2008
A newbie trying to compile Art Kagel's dostats utility on AIX with IDS 9.40 found no esql binary in $INFORMIXDIR/bin, only esql directories and esqlvers. Jonathan Leffler diagnosed that IDS was installed but the Client SDK (which provides ESQL/C) was not, and that a C compiler/make are also needed. After the sysadmin installed CSDK, gcc errors about '-b' showed a 32-bit CSDK had been put over the 64-bit install; Art advised downloading the 64-bit CSDK (clientsdk 2.90.FC4 AIX5L), simply reinstalling IDS without uninstalling, and noted CSDK can live in a separate directory as long as INFORMIXDIR/INFORMIXSQLHOSTS are set correctly. No final confirmation of a successful compile is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Installation, Setup & Upgrades, Stored Procedures & SPL, Connectivity: ESQL/C, 4GL & Embedded SQL, Security, Permissions & Auditing, Platform-Specific Issues, Java & JDBC Development, Internationalization & Character Sets, Versions, Editions & End-of-Life
On Apr 1, 11:15 am, "Jonathan Leffler" <jleffler.i...@gmail.com>
wrote:
> On Tue, Apr 1, 2008 at 4:50 AM, <peteli...@yahoo.com> wrote:
> > On Mar 27, 4:33 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
>
> > > peteli...@yahoo.com wrote:
>
> > > You should be seeing 'esql' in $INFORMIXDIR/bin and that directory
> > > should be in your path. If you installed esql into a different
> > > directory than the INFORMIXDIR that your engine files reside in, then
> > > you'll have to set INFORMIXDIR to the actual install directory of esql
> > > and append that bin directory to your path. Then it should work. If
> > > not ping me again or post to the list again. I'm usually browsing the
> > > list several times a day.
> > > > I'm trying to compile Art Kagel's dostats utility, and I'm having an
> > > > issue with esql, which I've never used before. (We're running IDS 9.4
> > > > FC6 on an AIX 5.2 server.)
>
> > > > Here's what I get when I try to compile:
> > > > digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
> > > > INFORMIXC=gcc esql -o dostats dostats.ec getopt.c> > > > /bin/sh: esql: 0403-006 Execute permission denied.
> > > > make: *** [dostats] Error 127
>
> > > > In the makefile, I used the default option, ESQL=esql. I also tried
> > > > the other option, ESQL=c4gl, which also didn't work.
>
> > > > I can find esql only as a name for directories:
> > > > /digi/informix/lib/esql
> > > > /digi/informix/incl/esql
>
> > > > But I can't find a command file named esql.
>
> > > > Here's the output for esqlvers:
> > > > digiadm@phms2a:/digi/informix/bin $esqlvers
> > > > IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.UC2
> > > > Software Serial Number RDS#N000000
>
> > > > Is the install of esql incomplete? Or am I doing something wrong?
> > > > Thanks.
> > Art,
> > Thanks for your reply.
> > I posted a reply to it on March 28, and got a "successful post"
> > message, but it never showed up.
> > So here's basically what I posted:
>
> > digiadm@phms2a:/digi/acct/digiadm $echo $INFORMIXDIR
> > /digi/informix
>
> > digiadm@phms2a:/digi/acct/digiadm $echo $PATH
> > /digi/worx_prod/sqr/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> > informix/ISA
> > /sbin:/usr/local/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> > informix/ISA/sb
> > in:/usr/local/bin:/digi/local:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/
> > bin/X11:/sbi
> > n:/usr/java131/jre/bin:/usr/java131/bin:/usr/localsys/bin:/usr/local/
> > bin:.:/digi
> > /acct/digiadm::/usr/bin:/digi/informix/bin:/digi/worx_prod/bin:/digi/
> > worx_prod/s
> > cripts
>
> > digiadm@phms2a:/digi/acct/digiadm $find / -name esql* > findfile.txt
> > <snip>
> > find: 0652-081 cannot change directory to </proc/397388/object>:
> > : The file access permissions do not allow the specified action.
> > etc... <end snip>
> > digiadm@phms2a:/digi/acct/digiadm $more findfile.txt
> > /opt/freeware/share/vim/vim63/syntax/esqlc.vim
> > /digi/informix/msg/en_us/0333/esql.iem
> > /digi/informix/msg/en_us/0333/esqlc.iem
> > /digi/informix/bin/esqlvers
>
> > /digi/informix/lib/esql
> > /digi/informix/incl/esql
> > findfile.txt: END
>
> > Our Informix install was done by our AIX sys admin, but I saw the
> > output from it, and I don't remember any messages regarding esql.
> > Thanks again.
>
> It appears that your Informix install includes IDS but does not include CSDK.
>
> You will need CSDK to compile Informix related programs. I assume you
> also have a C development system installed (C compiler, make, etc) --
> because if you don't, you will need those too.
>
> You don't need $INFORMIXDIR/lib on $PATH. You could also benefit
> using this clnpath script on your PATH variable:
>
> : "@(#)$Id: clnpath.sh,v 1.6 1999/06/08 23:34:07 jleffler Exp $"
> #
> # Print minimal version of $PATH, possibly removing some items
>
> case $# in
> 0) chop=""; path=${PATH:?};;
> 1) chop=""; path=$1;;
> 2) chop=$2; path=$1;;
> *) echo "Usage: `basename $0 .sh` [$PATH [remove:list]]" >&2
> exit 1;;
> esac
>
> # Beware of the quotes in the assignment to chop!
> echo "$path" |
> ${AWK:-awk} -F: '#
> BEGIN { # Sort out which path components to omit
> chop="'"$chop"'";
> if (chop != "") nr = split(chop, remove); else nr = 0;
> for (i = 1; i <= nr; i++)
> omit[remove[i]] = 1;
> }
> {
> for (i = 1; i <= NF; i++)
> {
> x=$i;
> if (x == "") x = ".";
> if (omit[x] == 0 && path[x]++ == 0)
> {
> output = output pad x;
> pad = ":";
> }
> }
> print output;
>
> }'
>
> I use: export PATH=$(clnpath $PATH)
>
> YMMV, depending on your shell.
>
> OK, so that's an over-simplification: actually, I use more complicated
> things like:
>
> export PATH=$(clnpath $INFORMIXDIR/bin:$PATH $oldixdbin)>
> This adds the new $INFORMIXDIR/bin to the front of PATH, and removes
> the save value of the old Informix bin directory so I only have one
> entry for Informix in my PATH.
>
> --
> Jonathan Leffler #include <disclaimer.h>
> Email: jleff...@earthlink.net, jleff...@us.ibm.com
> Guardian of DBD::Informix v2008.0229 --http://dbi.perl.org/
> "Blessed are we who can laugh at ourselves, for we shall never cease
> to be amused."
> NB: Please do not use this email for correspondence.
> I don't necessarily read it every week, even.
Jonathan,
Thanks for your post a few days ago. It took me a while to get the
CSDK files from the IBM site
and to read the docs.
Our sysadmin installed CSDK today, and hopefully it is correct. We are
trying this first on our
dev box, which recently was upgraded to AIX 5.3 ML 5300-06, running a
32-bit kernel with 64-bit
extensions. We run IDS 9.40 FC6.
In the docs, it was mentioned that 32-bit and 64-bit code shouldn't be
mixed, but I couldn't find
clear information which type the CSDK code was. The
client_relotes_2.90.html referred to
2.90.xC4R1 (UNIX/Linux), which suggested to me (with the x) that it
was OK for either.
So we went ahead and installed CSDK in our engine's $INFORMIXDIR with
no errors. I then tried to
compile dostats again.
Here's what I got:
digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
INFORMIXC=gcc esql -o dostats dostats.ec getopt.cgcc: '-b' must come at the start of the command line
make: *** [dostats] Error 1
After some experimentation, I changed the CC parameter in the Makefile
from
CC=gcc to CC="gcc -b".
Tried again:
INFORMIXC="gcc -b" esql -o dostats dostats.ec getopt.cgcc: couldn't run '-D_H_LOCALEDEF-gcc-4.0.0': No such file
petelink1@yahoo.com wrote:
> On Apr 1, 11:15 am, "Jonathan Leffler" <jleffler.i...@gmail.com>
> wrote:
>
>> On Tue, Apr 1, 2008 at 4:50 AM, <peteli...@yahoo.com> wrote:
>>
>>> On Mar 27, 4:33 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
>>>
>>>> peteli...@yahoo.com wrote:
>>>>
>>> > You should be seeing 'esql' in $INFORMIXDIR/bin and that directory
>>> > should be in your path. If you installed esql into a different
>>> > directory than the INFORMIXDIR that your engine files reside in, then
>>> > you'll have to set INFORMIXDIR to the actual install directory of esql
>>> > and append that bin directory to your path. Then it should work. If
>>> > not ping me again or post to the list again. I'm usually browsing the
>>> > list several times a day.
>>>
>>>>> I'm trying to compile Art Kagel's dostats utility, and I'm having an
>>>>>
>>> > > issue with esql, which I've never used before. (We're running IDS 9.4
>>> > > FC6 on an AIX 5.2 server.)
>>>
>>> > > Here's what I get when I try to compile:
>>> > > digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
>>> > > INFORMIXC=gcc esql -o dostats dostats.ec getopt.c>>> > > /bin/sh: esql: 0403-006 Execute permission denied.
>>> > > make: *** [dostats] Error 127
>>>
>>> > > In the makefile, I used the default option, ESQL=esql. I also tried
>>> > > the other option, ESQL=c4gl, which also didn't work.
>>>
>>> > > I can find esql only as a name for directories:
>>> > > /digi/informix/lib/esql
>>> > > /digi/informix/incl/esql
>>>
>>> > > But I can't find a command file named esql.
>>>
>>> > > Here's the output for esqlvers:
>>> > > digiadm@phms2a:/digi/informix/bin $esqlvers
>>> > > IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.UC2
>>> > > Software Serial Number RDS#N000000
>>>
>>> > > Is the install of esql incomplete? Or am I doing something wrong?
>>> > > Thanks.
>>> Art,
>>> Thanks for your reply.
>>> I posted a reply to it on March 28, and got a "successful post"
>>> message, but it never showed up.
>>> So here's basically what I posted:
>>>
>>> digiadm@phms2a:/digi/acct/digiadm $echo $INFORMIXDIR
>>> /digi/informix
>>>
>>> digiadm@phms2a:/digi/acct/digiadm $echo $PATH
>>> /digi/worx_prod/sqr/bin:/digi/informix/bin:/digi/informix/lib:/digi/
>>> informix/ISA
>>> /sbin:/usr/local/bin:/digi/informix/bin:/digi/informix/lib:/digi/
>>> informix/ISA/sb
>>> in:/usr/local/bin:/digi/local:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/
>>> bin/X11:/sbi
>>> n:/usr/java131/jre/bin:/usr/java131/bin:/usr/localsys/bin:/usr/local/
>>> bin:.:/digi
>>> /acct/digiadm::/usr/bin:/digi/informix/bin:/digi/worx_prod/bin:/digi/
>>> worx_prod/s
>>> cripts
>>>
>>> digiadm@phms2a:/digi/acct/digiadm $find / -name esql* > findfile.txt
>>> <snip>
>>> find: 0652-081 cannot change directory to </proc/397388/object>:
>>> : The file access permissions do not allow the specified action.
>>> etc... <end snip>
>>> digiadm@phms2a:/digi/acct/digiadm $more findfile.txt
>>> /opt/freeware/share/vim/vim63/syntax/esqlc.vim
>>> /digi/informix/msg/en_us/0333/esql.iem
>>> /digi/informix/msg/en_us/0333/esqlc.iem
>>> /digi/informix/bin/esqlvers
>>>
>>> /digi/informix/lib/esql
>>> /digi/informix/incl/esql
>>> findfile.txt: END
>>>
>>> Our Informix install was done by our AIX sys admin, but I saw the
>>> output from it, and I don't remember any messages regarding esql.
>>> Thanks again.
>>>
>> It appears that your Informix install includes IDS but does not include CSDK.
>>
>> You will need CSDK to compile Informix related programs. I assume you
>> also have a C development system installed (C compiler, make, etc) --
>> because if you don't, you will need those too.
>>
>> You don't need $INFORMIXDIR/lib on $PATH. You could also benefit
>> using this clnpath script on your PATH variable:
>>
>> : "@(#)$Id: clnpath.sh,v 1.6 1999/06/08 23:34:07 jleffler Exp $"
>> #
>> # Print minimal version of $PATH, possibly removing some items
>>
>> case $# in
>> 0) chop=""; path=${PATH:?};;
>> 1) chop=""; path=$1;;
>> 2) chop=$2; path=$1;;
>> *) echo "Usage: `basename $0 .sh` [$PATH [remove:list]]" >&2
>> exit 1;;
>> esac
>>
>> # Beware of the quotes in the assignment to chop!
>> echo "$path" |
>> ${AWK:-awk} -F: '#
>> BEGIN { # Sort out which path components to omit
>> chop="'"$chop"'";
>> if (chop != "") nr = split(chop, remove); else nr = 0;
>> for (i = 1; i <= nr; i++)
>> omit[remove[i]] = 1;
>> }
>> {
>> for (i = 1; i <= NF; i++)
>> {
>> x=$i;
>> if (x == "") x = ".";
>> if (omit[x] == 0 && path[x]++ == 0)
>> {
>> output = output pad x;
>> pad = ":";
>> }
>> }
>> print output;
>>
>> }'
>>
>> I use: export PATH=$(clnpath $PATH)
>>
>> YMMV, depending on your shell.
>>
>> OK, so that's an over-simplification: actually, I use more complicated
>> things like:
>>
>> export PATH=$(clnpath $INFORMIXDIR/bin:$PATH $oldixdbin)>>
>> This adds the new $INFORMIXDIR/bin to the front of PATH, and removes
>> the save value of the old Informix bin directory so I only have one
>> entry for Informix in my PATH.
>>
>> --
>> Jonathan Leffler #include <disclaimer.h>
>> Email: jleff...@earthlink.net, jleff...@us.ibm.com
>> Guardian of DBD::Informix v2008.0229 --http://dbi.perl.org/
>> "Blessed are we who can laugh at ourselves, for we shall never cease
>> to be amused."
>> NB: Please do not use this email for correspondence.
>> I don't necessarily read it every week, even.
>>
>
> Jonathan,
> Thanks for your post a few days ago. It took me a while to get the
> CSDK files from the IBM site
> and to read the docs.
>
> Our sysadmin installed CSDK today, and hopefully it is correct. We are
> trying this first on our
> dev box, which recently was upgraded to AIX 5.3 ML 5300-06, running a
> 32-bit kernel with 64-bit
> extensions. We run IDS 9.40 FC6.
>
> In the docs, it was mentioned that 32-bit and 64-bit code shouldn't be
> mixed, but I couldn't find
> clear information which type the CSDK code was. The
> client_relotes_2.90.html referred to
> 2.90.xC4R1 (UNIX/Linux), which suggested to me (with the x) that it
> was OK for either.
>
> So we went ahead and installed CSDK in our engine's $INFORMIXDIR with
> no errors. I then tried to
> compile dostats again.
>
> Here's what I got:
> digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
> INFORMIXC=gcc esql -o dostats dostats.ec getopt.c> gcc: '-b' must come at the start of the command line
> make: *** [dostats] Error 1
>
> After some experimentation, I changed the CC parame
On Apr 3, 5:45 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
> peteli...@yahoo.com wrote:
> > On Apr 1, 11:15 am, "Jonathan Leffler" <jleffler.i...@gmail.com>
> > wrote:
>
> >> On Tue, Apr 1, 2008 at 4:50 AM, <peteli...@yahoo.com> wrote:
>
> >>> On Mar 27, 4:33 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
>
> >>>> peteli...@yahoo.com wrote:
>
> >>> > You should be seeing 'esql' in $INFORMIXDIR/bin and that directory
> >>> > should be in your path. If you installed esql into a different
> >>> > directory than the INFORMIXDIR that your engine files reside in, then
> >>> > you'll have to set INFORMIXDIR to the actual install directory of esql
> >>> > and append that bin directory to your path. Then it should work. If
> >>> > not ping me again or post to the list again. I'm usually browsing the
> >>> > list several times a day.
>
> >>>>> I'm trying to compile Art Kagel's dostats utility, and I'm having an
>
> >>> > > issue with esql, which I've never used before. (We're running IDS 9.4
> >>> > > FC6 on an AIX 5.2 server.)
>
> >>> > > Here's what I get when I try to compile:
> >>> > > digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
> >>> > > INFORMIXC=gcc esql -o dostats dostats.ec getopt.c> >>> > > /bin/sh: esql: 0403-006 Execute permission denied.
> >>> > > make: *** [dostats] Error 127
>
> >>> > > In the makefile, I used the default option, ESQL=esql. I also tried
> >>> > > the other option, ESQL=c4gl, which also didn't work.
>
> >>> > > I can find esql only as a name for directories:
> >>> > > /digi/informix/lib/esql
> >>> > > /digi/informix/incl/esql
>
> >>> > > But I can't find a command file named esql.
>
> >>> > > Here's the output for esqlvers:
> >>> > > digiadm@phms2a:/digi/informix/bin $esqlvers
> >>> > > IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.UC2
> >>> > > Software Serial Number RDS#N000000
>
> >>> > > Is the install of esql incomplete? Or am I doing something wrong?
> >>> > > Thanks.
> >>> Art,
> >>> Thanks for your reply.
> >>> I posted a reply to it on March 28, and got a "successful post"
> >>> message, but it never showed up.
> >>> So here's basically what I posted:
>
> >>> digiadm@phms2a:/digi/acct/digiadm $echo $INFORMIXDIR
> >>> /digi/informix
>
> >>> digiadm@phms2a:/digi/acct/digiadm $echo $PATH
> >>> /digi/worx_prod/sqr/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> >>> informix/ISA
> >>> /sbin:/usr/local/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> >>> informix/ISA/sb
> >>> in:/usr/local/bin:/digi/local:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/
> >>> bin/X11:/sbi
> >>> n:/usr/java131/jre/bin:/usr/java131/bin:/usr/localsys/bin:/usr/local/
> >>> bin:.:/digi
> >>> /acct/digiadm::/usr/bin:/digi/informix/bin:/digi/worx_prod/bin:/digi/
> >>> worx_prod/s
> >>> cripts
>
> >>> digiadm@phms2a:/digi/acct/digiadm $find / -name esql* > findfile.txt
> >>> <snip>
> >>> find: 0652-081 cannot change directory to </proc/397388/object>:
> >>> : The file access permissions do not allow the specified action.
> >>> etc... <end snip>
> >>> digiadm@phms2a:/digi/acct/digiadm $more findfile.txt
> >>> /opt/freeware/share/vim/vim63/syntax/esqlc.vim
> >>> /digi/informix/msg/en_us/0333/esql.iem
> >>> /digi/informix/msg/en_us/0333/esqlc.iem
> >>> /digi/informix/bin/esqlvers
>
> >>> /digi/informix/lib/esql
> >>> /digi/informix/incl/esql
> >>> findfile.txt: END
>
> >>> Our Informix install was done by our AIX sys admin, but I saw the
> >>> output from it, and I don't remember any messages regarding esql.
> >>> Thanks again.
>
> >> It appears that your Informix install includes IDS but does not include CSDK.
>
> >> You will need CSDK to compile Informix related programs. I assume you
> >> also have a C development system installed (C compiler, make, etc) --
> >> because if you don't, you will need those too.
>
> >> You don't need $INFORMIXDIR/lib on $PATH. You could also benefit
> >> using this clnpath script on your PATH variable:
>
> >> : "@(#)$Id: clnpath.sh,v 1.6 1999/06/08 23:34:07 jleffler Exp $"
> >> #
> >> # Print minimal version of $PATH, possibly removing some items
>
> >> case $# in
> >> 0) chop=""; path=${PATH:?};;
> >> 1) chop=""; path=$1;;
> >> 2) chop=$2; path=$1;;
> >> *) echo "Usage: `basename $0 .sh` [$PATH [remove:list]]" >&2
> >> exit 1;;
> >> esac
>
> >> # Beware of the quotes in the assignment to chop!
> >> echo "$path" |
> >> ${AWK:-awk} -F: '#
> >> BEGIN { # Sort out which path components to omit
> >> chop="'"$chop"'";
> >> if (chop != "") nr = split(chop, remove); else nr = 0;
> >> for (i = 1; i <= nr; i++)
> >> omit[remove[i]] = 1;
> >> }
> >> {
> >> for (i = 1; i <= NF; i++)
> >> {
> >> x=$i;
> >> if (x == "") x = ".";
> >> if (omit[x] == 0 && path[x]++ == 0)
> >> {
> >> output = output pad x;
> >> pad = ":";
> >> }
> >> }
> >> print output;
>
> >> }'
>
> >> I use: export PATH=$(clnpath $PATH)
>
> >> YMMV, depending on your shell.
>
> >> OK, so that's an over-simplification: actually, I use more complicated
> >> things like:
>
> >> export PATH=$(clnpath $INFORMIXDIR/bin:$PATH $oldixdbin)>
> >> This adds the new $INFORMIXDIR/bin to the front of PATH, and removes
> >> the save value of the old Informix bin directory so I only have one
> >> entry for Informix in my PATH.
>
> >> --
> >> Jonathan Leffler #include <disclaimer.h>
> >> Email: jleff...@earthlink.net, jleff...@us.ibm.com
> >> Guardian of DBD::Informix v2008.0229 --http://dbi.perl.org/
> >> "Blessed are we who can laugh at ourselves, for we shall never cease
> >> to be amused."
> >> NB: Please do not use this email for correspondence.
> >> I don't necessarily read it every week, even.
>
> > Jonathan,
> > Thanks for your post a few days ago. It took me a while to get the
> > CSDK files from the IBM site
> > and to read the docs.
>
> > Our sysadmin installed CSDK today, and hopefully it is correct. We are
> > trying this first on our
> > dev box, which recently was upgraded to AIX 5.3 ML 5300-06, running a
> > 32-bit kernel with 64-bit
> > extensions. We run IDS 9.40 FC6.
>
> > In the docs, it was mentioned that 32-bit and 64-bit code shouldn't be
> > mixed, but I couldn't find
> > clear information which type the CSDK code was. The
> > client_relotes_2.90.html referred to
> > 2.90.xC4R1 (UNIX/Linux), which suggested to me (with the x) that it
> > was OK for either.
>
> > So we went ahead and installed CSDK in our engine's $INFORMIXDIR with
> > no errors. I then tried to
> > compile dostats again.
>
> > H
On Apr 3, 5:45 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
> peteli...@yahoo.com wrote:
> > On Apr 1, 11:15 am, "Jonathan Leffler" <jleffler.i...@gmail.com>
> > wrote:
>
> >> On Tue, Apr 1, 2008 at 4:50 AM, <peteli...@yahoo.com> wrote:
>
> >>> On Mar 27, 4:33 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
>
> >>>> peteli...@yahoo.com wrote:
>
> >>> > You should be seeing 'esql' in $INFORMIXDIR/bin and that directory
> >>> > should be in your path. If you installed esql into a different
> >>> > directory than the INFORMIXDIR that your engine files reside in, then
> >>> > you'll have to set INFORMIXDIR to the actual install directory of esql
> >>> > and append that bin directory to your path. Then it should work. If
> >>> > not ping me again or post to the list again. I'm usually browsing the
> >>> > list several times a day.
>
> >>>>> I'm trying to compile Art Kagel's dostats utility, and I'm having an
>
> >>> > > issue with esql, which I've never used before. (We're running IDS 9.4
> >>> > > FC6 on an AIX 5.2 server.)
>
> >>> > > Here's what I get when I try to compile:
> >>> > > digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
> >>> > > INFORMIXC=gcc esql -o dostats dostats.ec getopt.c> >>> > > /bin/sh: esql: 0403-006 Execute permission denied.
> >>> > > make: *** [dostats] Error 127
>
> >>> > > In the makefile, I used the default option, ESQL=esql. I also tried
> >>> > > the other option, ESQL=c4gl, which also didn't work.
>
> >>> > > I can find esql only as a name for directories:
> >>> > > /digi/informix/lib/esql
> >>> > > /digi/informix/incl/esql
>
> >>> > > But I can't find a command file named esql.
>
> >>> > > Here's the output for esqlvers:
> >>> > > digiadm@phms2a:/digi/informix/bin $esqlvers
> >>> > > IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.UC2
> >>> > > Software Serial Number RDS#N000000
>
> >>> > > Is the install of esql incomplete? Or am I doing something wrong?
> >>> > > Thanks.
> >>> Art,
> >>> Thanks for your reply.
> >>> I posted a reply to it on March 28, and got a "successful post"
> >>> message, but it never showed up.
> >>> So here's basically what I posted:
>
> >>> digiadm@phms2a:/digi/acct/digiadm $echo $INFORMIXDIR
> >>> /digi/informix
>
> >>> digiadm@phms2a:/digi/acct/digiadm $echo $PATH
> >>> /digi/worx_prod/sqr/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> >>> informix/ISA
> >>> /sbin:/usr/local/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> >>> informix/ISA/sb
> >>> in:/usr/local/bin:/digi/local:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/
> >>> bin/X11:/sbi
> >>> n:/usr/java131/jre/bin:/usr/java131/bin:/usr/localsys/bin:/usr/local/
> >>> bin:.:/digi
> >>> /acct/digiadm::/usr/bin:/digi/informix/bin:/digi/worx_prod/bin:/digi/
> >>> worx_prod/s
> >>> cripts
>
> >>> digiadm@phms2a:/digi/acct/digiadm $find / -name esql* > findfile.txt
> >>> <snip>
> >>> find: 0652-081 cannot change directory to </proc/397388/object>:
> >>> : The file access permissions do not allow the specified action.
> >>> etc... <end snip>
> >>> digiadm@phms2a:/digi/acct/digiadm $more findfile.txt
> >>> /opt/freeware/share/vim/vim63/syntax/esqlc.vim
> >>> /digi/informix/msg/en_us/0333/esql.iem
> >>> /digi/informix/msg/en_us/0333/esqlc.iem
> >>> /digi/informix/bin/esqlvers
>
> >>> /digi/informix/lib/esql
> >>> /digi/informix/incl/esql
> >>> findfile.txt: END
>
> >>> Our Informix install was done by our AIX sys admin, but I saw the
> >>> output from it, and I don't remember any messages regarding esql.
> >>> Thanks again.
>
> >> It appears that your Informix install includes IDS but does not include CSDK.
>
> >> You will need CSDK to compile Informix related programs. I assume you
> >> also have a C development system installed (C compiler, make, etc) --
> >> because if you don't, you will need those too.
>
> >> You don't need $INFORMIXDIR/lib on $PATH. You could also benefit
> >> using this clnpath script on your PATH variable:
>
> >> : "@(#)$Id: clnpath.sh,v 1.6 1999/06/08 23:34:07 jleffler Exp $"
> >> #
> >> # Print minimal version of $PATH, possibly removing some items
>
> >> case $# in
> >> 0) chop=""; path=${PATH:?};;
> >> 1) chop=""; path=$1;;
> >> 2) chop=$2; path=$1;;
> >> *) echo "Usage: `basename $0 .sh` [$PATH [remove:list]]" >&2
> >> exit 1;;
> >> esac
>
> >> # Beware of the quotes in the assignment to chop!
> >> echo "$path" |
> >> ${AWK:-awk} -F: '#
> >> BEGIN { # Sort out which path components to omit
> >> chop="'"$chop"'";
> >> if (chop != "") nr = split(chop, remove); else nr = 0;
> >> for (i = 1; i <= nr; i++)
> >> omit[remove[i]] = 1;
> >> }
> >> {
> >> for (i = 1; i <= NF; i++)
> >> {
> >> x=$i;
> >> if (x == "") x = ".";
> >> if (omit[x] == 0 && path[x]++ == 0)
> >> {
> >> output = output pad x;
> >> pad = ":";
> >> }
> >> }
> >> print output;
>
> >> }'
>
> >> I use: export PATH=$(clnpath $PATH)
>
> >> YMMV, depending on your shell.
>
> >> OK, so that's an over-simplification: actually, I use more complicated
> >> things like:
>
> >> export PATH=$(clnpath $INFORMIXDIR/bin:$PATH $oldixdbin)>
> >> This adds the new $INFORMIXDIR/bin to the front of PATH, and removes
> >> the save value of the old Informix bin directory so I only have one
> >> entry for Informix in my PATH.
>
> >> --
> >> Jonathan Leffler #include <disclaimer.h>
> >> Email: jleff...@earthlink.net, jleff...@us.ibm.com
> >> Guardian of DBD::Informix v2008.0229 --http://dbi.perl.org/
> >> "Blessed are we who can laugh at ourselves, for we shall never cease
> >> to be amused."
> >> NB: Please do not use this email for correspondence.
> >> I don't necessarily read it every week, even.
>
> > Jonathan,
> > Thanks for your post a few days ago. It took me a while to get the
> > CSDK files from the IBM site
> > and to read the docs.
>
> > Our sysadmin installed CSDK today, and hopefully it is correct. We are
> > trying this first on our
> > dev box, which recently was upgraded to AIX 5.3 ML 5300-06, running a
> > 32-bit kernel with 64-bit
> > extensions. We run IDS 9.40 FC6.
>
> > In the docs, it was mentioned that 32-bit and 64-bit code shouldn't be
> > mixed, but I couldn't find
> > clear information which type the CSDK code was. The
> > client_relotes_2.90.html referred to
> > 2.90.xC4R1 (UNIX/Linux), which suggested to me (with the x) that it
> > was OK for either.
>
> > So we went ahead and installed CSDK in our engine's $INFORMIXDIR with
> > no errors. I then tried to
> > compile dostats again.
>
> > H
petelink1@yahoo.com wrote: > Art, > Thanks for the response. After navigating the IBM site slightly > differently than last time, I was able to download > a file - clientsdk.2.90.FC4.AIX5L.tar. > > So should I uninstall the 32-bit CSDK first, then re-install IDS? Or > just re-install IDS, then install the 64-bit CSDK? > Just reinstall IDS. If you decide to install the CSDK in the same INFORMIXDIR you would do that afterward. There's no need to uninstall. > Also, what would be a good way to split out the 64-bit CSDK install, > so that I know that it doesn't conflict with the IDS 9.4 FC6 files? > Or is it a non-issue now that I have a 64-bit CSDK? > Your choice. Jonathan Leffler has every version of C4Gl, ESQL/C and the CSDK there ever have been all installed concurrently in different directories and to my knowledge all of them can be used to create apps that access the database servers running on his machine (or which there are also several versions running concurrently much of the time). All you need to do is set INFORMIXDIR to the CSDK directory to compile and link and set INFORMIXSQLHOSTS to the path to the sqlhosts file if it is not in $INFORMIXDIR/etc to run apps and all will be well. In that case you can even use the 32bit CSDK to access the 64bit engine using TCP/IP or strpip connections (just not using ipcshm connections). I have done this myself to validate new CSDK versions before rolling out to production. > If I install CSDK to a different directory than INFORMIXDIR, what > issues will I face in the future? Are they issues just at compile > time, or will I need to re-configure my informix .profile, job > scripts, etc.? > None other than having to set up the runtime environment of the apps correctly, and we always have that one no matter what we do. Art S. Kagel Oninit > Thanks. > > --pete link > ____________________
On Apr 3, 5:45 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
> peteli...@yahoo.com wrote:
> > On Apr 1, 11:15 am, "Jonathan Leffler" <jleffler.i...@gmail.com>
> > wrote:
>
> >> On Tue, Apr 1, 2008 at 4:50 AM, <peteli...@yahoo.com> wrote:
>
> >>> On Mar 27, 4:33 pm, "Art S. Kagel (Oninit)" <a...@oninit.com> wrote:
>
> >>>> peteli...@yahoo.com wrote:
>
> >>> > You should be seeing 'esql' in $INFORMIXDIR/bin and that directory
> >>> > should be in your path. If you installed esql into a different
> >>> > directory than the INFORMIXDIR that your engine files reside in, then
> >>> > you'll have to set INFORMIXDIR to the actual install directory of esql
> >>> > and append that bin directory to your path. Then it should work. If
> >>> > not ping me again or post to the list again. I'm usually browsing the
> >>> > list several times a day.
>
> >>>>> I'm trying to compile Art Kagel's dostats utility, and I'm having an
>
> >>> > > issue with esql, which I've never used before. (We're running IDS 9.4
> >>> > > FC6 on an AIX 5.2 server.)
>
> >>> > > Here's what I get when I try to compile:
> >>> > > digiadm@phms2a:/digi/acct/digiadm/dostats $/opt/freeware/bin/make
> >>> > > INFORMIXC=gcc esql -o dostats dostats.ec getopt.c> >>> > > /bin/sh: esql: 0403-006 Execute permission denied.
> >>> > > make: *** [dostats] Error 127
>
> >>> > > In the makefile, I used the default option, ESQL=esql. I also tried
> >>> > > the other option, ESQL=c4gl, which also didn't work.
>
> >>> > > I can find esql only as a name for directories:
> >>> > > /digi/informix/lib/esql
> >>> > > /digi/informix/incl/esql
>
> >>> > > But I can't find a command file named esql.
>
> >>> > > Here's the output for esqlvers:
> >>> > > digiadm@phms2a:/digi/informix/bin $esqlvers
> >>> > > IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.UC2
> >>> > > Software Serial Number RDS#N000000
>
> >>> > > Is the install of esql incomplete? Or am I doing something wrong?
> >>> > > Thanks.
> >>> Art,
> >>> Thanks for your reply.
> >>> I posted a reply to it on March 28, and got a "successful post"
> >>> message, but it never showed up.
> >>> So here's basically what I posted:
>
> >>> digiadm@phms2a:/digi/acct/digiadm $echo $INFORMIXDIR
> >>> /digi/informix
>
> >>> digiadm@phms2a:/digi/acct/digiadm $echo $PATH
> >>> /digi/worx_prod/sqr/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> >>> informix/ISA
> >>> /sbin:/usr/local/bin:/digi/informix/bin:/digi/informix/lib:/digi/
> >>> informix/ISA/sb
> >>> in:/usr/local/bin:/digi/local:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/
> >>> bin/X11:/sbi
> >>> n:/usr/java131/jre/bin:/usr/java131/bin:/usr/localsys/bin:/usr/local/
> >>> bin:.:/digi
> >>> /acct/digiadm::/usr/bin:/digi/informix/bin:/digi/worx_prod/bin:/digi/
> >>> worx_prod/s
> >>> cripts
>
> >>> digiadm@phms2a:/digi/acct/digiadm $find / -name esql* > findfile.txt
> >>> <snip>
> >>> find: 0652-081 cannot change directory to </proc/397388/object>:
> >>> : The file access permissions do not allow the specified action.
> >>> etc... <end snip>
> >>> digiadm@phms2a:/digi/acct/digiadm $more findfile.txt
> >>> /opt/freeware/share/vim/vim63/syntax/esqlc.vim
> >>> /digi/informix/msg/en_us/0333/esql.iem
> >>> /digi/informix/msg/en_us/0333/esqlc.iem
> >>> /digi/informix/bin/esqlvers
>
> >>> /digi/informix/lib/esql
> >>> /digi/informix/incl/esql
> >>> findfile.txt: END
>
> >>> Our Informix install was done by our AIX sys admin, but I saw the
> >>> output from it, and I don't remember any messages regarding esql.
> >>> Thanks again.
>
> >> It appears that your Informix install includes IDS but does not include CSDK.
>
> >> You will need CSDK to compile Informix related programs. I assume you
> >> also have a C development system installed (C compiler, make, etc) --
> >> because if you don't, you will need those too.
>
> >> You don't need $INFORMIXDIR/lib on $PATH. You could also benefit
> >> using this clnpath script on your PATH variable:
>
> >> : "@(#)$Id: clnpath.sh,v 1.6 1999/06/08 23:34:07 jleffler Exp $"
> >> #
> >> # Print minimal version of $PATH, possibly removing some items
>
> >> case $# in
> >> 0) chop=""; path=${PATH:?};;
> >> 1) chop=""; path=$1;;
> >> 2) chop=$2; path=$1;;
> >> *) echo "Usage: `basename $0 .sh` [$PATH [remove:list]]" >&2
> >> exit 1;;
> >> esac
>
> >> # Beware of the quotes in the assignment to chop!
> >> echo "$path" |
> >> ${AWK:-awk} -F: '#
> >> BEGIN { # Sort out which path components to omit
> >> chop="'"$chop"'";
> >> if (chop != "") nr = split(chop, remove); else nr = 0;
> >> for (i = 1; i <= nr; i++)
> >> omit[remove[i]] = 1;
> >> }
> >> {
> >> for (i = 1; i <= NF; i++)
> >> {
> >> x=$i;
> >> if (x == "") x = ".";
> >> if (omit[x] == 0 && path[x]++ == 0)
> >> {
> >> output = output pad x;
> >> pad = ":";
> >> }
> >> }
> >> print output;
>
> >> }'
>
> >> I use: export PATH=$(clnpath $PATH)
>
> >> YMMV, depending on your shell.
>
> >> OK, so that's an over-simplification: actually, I use more complicated
> >> things like:
>
> >> export PATH=$(clnpath $INFORMIXDIR/bin:$PATH $oldixdbin)>
> >> This adds the new $INFORMIXDIR/bin to the front of PATH, and removes
> >> the save value of the old Informix bin directory so I only have one
> >> entry for Informix in my PATH.
>
> >> --
> >> Jonathan Leffler #include <disclaimer.h>
> >> Email: jleff...@earthlink.net, jleff...@us.ibm.com
> >> Guardian of DBD::Informix v2008.0229 --http://dbi.perl.org/
> >> "Blessed are we who can laugh at ourselves, for we shall never cease
> >> to be amused."
> >> NB: Please do not use this email for correspondence.
> >> I don't necessarily read it every week, even.
>
> > Jonathan,
> > Thanks for your post a few days ago. It took me a while to get the
> > CSDK files from the IBM site
> > and to read the docs.
>
> > Our sysadmin installed CSDK today, and hopefully it is correct. We are
> > trying this first on our
> > dev box, which recently was upgraded to AIX 5.3 ML 5300-06, running a
> > 32-bit kernel with 64-bit
> > extensions. We run IDS 9.40 FC6.
>
> > In the docs, it was mentioned that 32-bit and 64-bit code shouldn't be
> > mixed, but I couldn't find
> > clear information which type the CSDK code was. The
> > client_relotes_2.90.html referred to
> > 2.90.xC4R1 (UNIX/Linux), which suggested to me (with the x) that it
> > was OK for either.
>
> > So we went ahead and installed CSDK in our engine's $INFORMIXDIR with
> > no errors. I then tried to
> > compile dostats again.
>
> > H