Re: sqlcmd-86 on Ubuntu 10
Posted in 2010
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Internationalization & Character Sets
here is the solution:
http://newsgroups.derkeiler.com/Archive/Comp/comp.databases.informix/2010-02/msg00165.html
--
Holger de Wall
Am 09.09.2010 15:26, schrieb Dirk Niemeier:
> Hi,
> i try to compile the sqlcmd-86 tool from J Leffler on Ubuntu 10 (gcc
> version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)) and get following error:
>
> INFORMIXC="gcc" esql -DESQLC_VERSION=350 -I.> -I/opt/IBM/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
>
> The same on Ubuntu 8.04 with same CSDK works fine. Perhaps it could be
> an compiler configuration problem? Perhaps the "--disable-werror " option?
>
> TIA
> Dirk
>
>
>
> gcc -v on Ubuntu10:
>
> Using built-in specs.
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v
> --with-pkgversion='Ubuntu 4.4.3-4ubuntu5'
> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> --enable-languages=c,c++,fortran,objc,obj-c++
> --prefix=/usr
> --enable-shared
> --enable-multiarch
> --enable-linker-build-id
> --with-system-zlib
> --libexecdir=/usr/lib
> --without-included-gettext
> --enable-threads=posix
> --with-gxx-include-dir=/usr/include/c++/4.4
> --program-suffix=-4.4
> --enable-nls
> --enable-clocale=gnu
> --enable-libstdcxx-debug
> --enable-plugin
> --enable-objc-gc
> --disable-werror
> --with-arch-32=i486
> --with-tune=generic
> --enable-checking=release
> --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu
> --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
>
> gcc -v on Ubuntu8
>
> Using built-in specs.
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v
> --enable-languages=c,c++,fortran,objc,obj-c++,treelang
> --prefix=/usr
> --enable-shared
> --with-system-zlib
> --libexecdir=/usr/lib
> --without-included-gettext
> --enable-threads=posix
> --enable-nls
> --with-gxx-include-dir=/usr/include/c++/4.2
> --program-suffix=-4.2
> --enable-clocale=gnu
> --enable-libstdcxx-debug
> --enable-objc-gc
> --enable-mpfr
> --enable-checking=release
> --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu
> --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
>
>
>
>
>
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org
> http://www.iiug.org/mailman/listinfo/informix-list
On Sep 9, 12:22 pm, Holger de Wall <hol...@dewall-net.de> wrote:
> here is the solution:
>
> http://newsgroups.derkeiler.com/Archive/Comp/comp.databases.informix/...
>
> --
> Holger de Wall
>
> Am 09.09.2010 15:26, schrieb Dirk Niemeier:
>
> > Hi,
> > i try to compile the sqlcmd-86 tool from J Leffler on Ubuntu 10 (gcc
> > version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)) and get following error:
>
> > INFORMIXC="gcc" esql -DESQLC_VERSION=350 -I.> > -I/opt/IBM/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
>
> > The same on Ubuntu 8.04 with same CSDK works fine. Perhaps it could be
> > an compiler configuration problem? Perhaps the "--disable-werror " option?
The problem is that POSIX 2008 pre-empts a previously perfectly valid
user-defined function by introducing 'its own' function called
getline(). There is no protection available for this sort of action.
The GNU systems are implementing the standard; therefore, software
that has been valid for years is suddenly no longer valid. It isn't
nice, but it isn't directly Linux's fault, and in a sense it isn't the
POSIX standard's fault - if it is going to make changes and add new
functionality, it sometimes has to use names that were previously
available to users of the standard; it hasn't (or doesn't) only use
the reserved namespaces. It is an intractable problem - renaming is
the only way around it - so that is what has happened.
I've just uploaded to the IIUG Software Archive an update - SQLCMD
86.09. It may take a working day or two (plus the weekend) for it to
be made available. If you need it more urgently than that, contact
me.
As an FYI: if you send an email to a gmail account with an attachment
that is a gzipped tar file with anything executable inside (such as a
configure script), it gets rejected by gmail. However, if you tar
the .tar.gz (or .tgz) file, then it gets through unscathed. A
nuisance, but go with what works.
Jonathan Leffler <jonathan.leffler@gmail.com>