sqlcmd.86 on ubuntu 9.10 64 bit
Posted in 2010
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL
Hi,
Error messages when try to make sqlcmd-86.00 on ubuntu 9.10 x86-64
and IDS 11.50.FC6WE:
STEP 1
wget ftp://ftp.iiug.org/pub/informix/pub/sqlcmd-86.00.tgz
tar -xvzf sqlcmd-86.00.tgz
cd sqlcmd-86.00
STEP 2:
CC="gcc -m64" ./configure
... [ok]
STEP 3:
make
...
INFORMIXC="gcc -m64" esql -DESQLC_VERSION=350 -I.-I/opt/informix/incl/esql -O -DHAVE_CONFIG_H -g -O2 -c appblob.ec
In file included from appblob.ec:29:
jlss.h:45: error: conflicting types for 'getline'
/usr/include/stdio.h:651: note: previous declaration of 'getline' was here
make: *** [appblob.o] Fehler 1
Any ideas are appreciated.
Thanks,
Holger de Wall
On 2/19/10 11:27 AM, Holger de Wall wrote:
> Hi,
>
> Error messages when try to make sqlcmd-86.00 on ubuntu 9.10 x86-64
> and IDS 11.50.FC6WE:
>
> STEP 1
> wget ftp://ftp.iiug.org/pub/informix/pub/sqlcmd-86.00.tgz
> tar -xvzf sqlcmd-86.00.tgz
> cd sqlcmd-86.00
>
> STEP 2:
> CC="gcc -m64" ./configure
> ... [ok]
>
> STEP 3:
> make
> ...
> INFORMIXC="gcc -m64" esql -DESQLC_VERSION=350 -I.> -I/opt/informix/incl/esql -O -DHAVE_CONFIG_H -g -O2 -c appblob.ec
> In file included from appblob.ec:29:
> jlss.h:45: error: conflicting types for 'getline'
> /usr/include/stdio.h:651: note: previous declaration of 'getline' was here
> make: *** [appblob.o] Fehler 1
>
>
> Any ideas are appreciated.
Linux should not define functions called getline() without my
permission. Especially not ones with a different interface or semantics
to the version I defined a long time ago. :)
Unfortunately, POSIX also seems to have got in on the act of annoying
authors who thought they could define functions with names of their own
choosing. There's a getline() in POSIX 2008. So, I guess I'm gonna
have to try and find a name that means the same thing but doesn't run
foul of other people's ideas. In the interim, you can edit the source
to use some other name - like, perhaps, jlss_getline().
You need to edit:
* getline.c
* jlss.h
* readload.c
* sqlconn.ec
Have fun.
Jonathan Leffler <jonathan.leffler@gmail.com>
> On 2/19/10 11:27 AM, Holger de Wall wrote:
>> Hi,
>>
>> Error messages when try to make sqlcmd-86.00 on ubuntu 9.10 x86-64
>> and IDS 11.50.FC6WE:
>>
>> STEP 1
>> wget ftp://ftp.iiug.org/pub/informix/pub/sqlcmd-86.00.tgz
>> tar -xvzf sqlcmd-86.00.tgz
>> cd sqlcmd-86.00
>>
>> STEP 2:
>> CC="gcc -m64" ./configure
>> ... [ok]
>>
>> STEP 3:
>> make
>> ...
>> INFORMIXC="gcc -m64" esql -DESQLC_VERSION=350 -I.>> -I/opt/informix/incl/esql -O -DHAVE_CONFIG_H -g -O2 -c appblob.ec
>> In file included from appblob.ec:29:
>> jlss.h:45: error: conflicting types for 'getline'
>> /usr/include/stdio.h:651: note: previous declaration of 'getline' was here
>> make: *** [appblob.o] Fehler 1
>>
>>
>> Any ideas are appreciated.
>
>
>
Jonathan Leffler wrote:
> Linux should not define functions called getline() without my
> permission. Especially not ones with a different interface or semantics
> to the version I defined a long time ago. :)
>
> Unfortunately, POSIX also seems to have got in on the act of annoying
> authors who thought they could define functions with names of their own
> choosing. There's a getline() in POSIX 2008. So, I guess I'm gonna
> have to try and find a name that means the same thing but doesn't run
> foul of other people's ideas. In the interim, you can edit the source
> to use some other name - like, perhaps, jlss_getline().
>
> You need to edit:
>
> * getline.c
> * jlss.h
> * readload.c
> * sqlconn.ec
>
Thanks a lot. This works for me.
Holger de Wall