Hi
> ./bootstrap
rm: cannot remove `aclocal.m4': No such file or directory
/usr/bin/autoheader2.13: Symbol `HAVE_VARCHAR_H' is not covered by /usr/share/autoconf2.13/acconfig.h
src/Makefile.am:18: @LTLIBOBJS@ seen but never set in `configure.in'
autoconf: Undefined macros:
configure.in:198:LTLIBOJBS=`echo X"$AC_LIBOBJ"`
configure.in:30:AC_FUNC_MALLOC
> ./configure
[ ...jadda jadda... ]
.checking for memset... yes
checking for strchr... yes
checking for strtol... yes
/configure: AC_FUNC_MALLOC: command not found
checking for Cygwin environment... no
checking for mingw32 environment... no
checking host system type... i686-pc-linux-gnu
[ ...jadda jadda... ]
creating ./config.status
creating Makefile
creating src/Makefile
creating src/test/Makefile
sed: can't read ./src/test/Makefile.in: No such file or directory
creating config.h
> make
cd . && autoheader
/usr/bin/autoheader2.13: Symbol `HAVE_VARCHAR_H' is not covered by /usr/share/autoconf2.13/acconfig.h
make: *** [stamp-h.in] Error 1
This is qtinformix 0.2 from CVS with
Informix 7.03SE
qt-x11-free-3.2.2
ESQL/C compiler and version... esql (version 930)
gcc 2.95.4
Debian woody linux
Any hints?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, it _does_ build...
1. changed to src dir
2. did the "make" there
3. copied the .libs/libqtinformix.so.0.0.0 and the links to the plugin dir
4. started small test app and (*tadaaa*)
Found my solution:
1. Problem with bootstrap:
/usr/bin/autoheader2.13: Symbol `HAVE_VARCHAR_H' is not covered by /usr/share/autoconf2.13/acconfig.h
Solution: create file accconfig.h with single line #undef HAVE_VARCHAR_H
now bootstrap and ./configure runs like a charm ;).
2. undefined symbol:
running the missing symbol through c++filt gives
QINFORMIXDriver::QINFORMIXDriver(QObject *, char const *)
which is defined in qsql_informix.ec
qsql_informix.ec is compiled to qsql_informix.cc by esqlc++
The rule in my Makefile is:
.ec.cpp:
$(ESQL) $(ESQL_FLAGS) -c $<
That is: the expected output is cpp, the real is cc. I added a line
mv $(addsuffix .cc,$(basename $<)) $@
Now, the resulting qsql_informix.cpp is not compiled and not linked to the driver.
Solved by changing th line
libqsqlinformix_la_OBJECTS = main.lo decsci.lo qsql_informix.cpp
to
libqsqlinformix_la_OBJECTS = main.lo decsci.lo qsql_informix.lo
3. The qt-includes are not found by gcc and esql++, I added
-I($QTINCDIR) to the INCLUDES and ESQL_FLAGS
*phew*...
The resulting driver works now for connecting and simple selects.
klaus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
> ./bootstrap
rm: cannot remove `aclocal.m4': No such file or directory
/usr/bin/autoheader2.13: Symbol `HAVE_VARCHAR_H' is not covered by /usr/share/autoconf2.13/acconfig.h
src/Makefile.am:18: @LTLIBOBJS@ seen but never set in `configure.in'
autoconf: Undefined macros:
configure.in:198:LTLIBOJBS=`echo X"$AC_LIBOBJ"`
configure.in:30:AC_FUNC_MALLOC
> ./configure
[ ...jadda jadda... ]
.checking for memset... yes
checking for strchr... yes
checking for strtol... yes
/configure: AC_FUNC_MALLOC: command not found
checking for Cygwin environment... no
checking for mingw32 environment... no
checking host system type... i686-pc-linux-gnu
[ ...jadda jadda... ]
creating ./config.status
creating Makefile
creating src/Makefile
creating src/test/Makefile
sed: can't read ./src/test/Makefile.in: No such file or directory
creating config.h
> make
cd . && autoheader
/usr/bin/autoheader2.13: Symbol `HAVE_VARCHAR_H' is not covered by /usr/share/autoconf2.13/acconfig.h
make: *** [stamp-h.in] Error 1
This is qtinformix 0.2 from CVS with
Informix 7.03SE
qt-x11-free-3.2.2
ESQL/C compiler and version... esql (version 930)
gcc 2.95.4
Debian woody linux
Any hints?
Ok, it _does_ build...
1. changed to src dir
2. did the "make" there
3. copied the .libs/libqtinformix.so.0.0.0 and the links to the plugin dir
4. started small test app and (*tadaaa*)
./test1
./test1: relocation error: /usr/local/qt-x11-free-3.2.2/plugins/sqldrivers/libqsqlinformix.so: undefined symbol: _15QINFORMIXDriverP7QObjectPCc
*sigh*
Is that something with the only warning I Get from from point 2. above?
/bin/sh ../libtool --mode=link c++ -pipe -Wall -W -O2 -DQT_THREAD_SUPPORT -DQT_SHARED -o libqsqlinformix.la -rpath /opt/informix/lib --whole-archive -L/opt/informix/lib/esql -L/opt/informix/lib main.lo decsci.lo qsql_informix.cpp -lifsql -lifasf -lifgen -lifos -lifgls -lnetstub -lc -lm -ldl -lcrypt /opt/informix/lib/esql/checkapi.o -lifglx -lpthread
*** Warning: Linking the shared library libqsqlinformix.la against the non-libtool
*** objects /opt/informix/lib/esql/checkapi.o is not portable!
Me again...
Found my solution:
1. Problem with bootstrap:
/usr/bin/autoheader2.13: Symbol `HAVE_VARCHAR_H' is not covered by /usr/share/autoconf2.13/acconfig.h
Solution: create file accconfig.h with single line #undef HAVE_VARCHAR_H
now bootstrap and ./configure runs like a charm ;).
2. undefined symbol:
running the missing symbol through c++filt gives
QINFORMIXDriver::QINFORMIXDriver(QObject *, char const *)
which is defined in qsql_informix.ec
qsql_informix.ec is compiled to qsql_informix.cc by esqlc++
The rule in my Makefile is:
.ec.cpp:
$(ESQL) $(ESQL_FLAGS) -c $<
That is: the expected output is cpp, the real is cc. I added a line
mv $(addsuffix .cc,$(basename $<)) $@
Now, the resulting qsql_informix.cpp is not compiled and not linked to the driver.
Solved by changing th line
libqsqlinformix_la_OBJECTS = main.lo decsci.lo qsql_informix.cpp
to
libqsqlinformix_la_OBJECTS = main.lo decsci.lo qsql_informix.lo
3. The qt-includes are not found by gcc and esql++, I added
-I($QTINCDIR) to the INCLUDES and ESQL_FLAGS
*phew*...
The resulting driver works now for connecting and simple selects.
klaus