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