Skip to Content.
Sympa Menu

freetds - [freetds] Cross compilation, warnings and errors

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Luis Lavena <luislavena AT gmail.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: [freetds] Cross compilation, warnings and errors
  • Date: Wed, 19 Jan 2011 20:35:50 -0300

Hello,

I just checked out freetds current snapshot with the goal of cross
compile it, targeting Windows (MinGW)

The goal of this is catch possible cross-compilation issues that can
affect the success build and testing of FreeTDS on Windows itself.

For this purpose, I've previously verified that native build with
current snapshot (20110118) works.

I've used mingw-w64 32bits compiler (identified with i686-w64-mingw32
GNU triplet):

$ i686-w64-mingw32-gcc --version
i686-w64-mingw32-gcc (GCC) 4.5.2 20101018 (prerelease)

The package was downloaded from mingw-w64 automated builds:

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Automated%20Builds/

mingw-w32-1.0-bin_i686-darwin_20101114.tar.bz2 (49.1MB)

Steps used to compilation after extraction:

$ mkdir buildwin; cd buildwin
$ sh ../configure --host=i686-w64-mingw32

First warning came form configure process:

checking odbcss.h usability... no
checking odbcss.h presence... yes
configure: WARNING: odbcss.h: present but cannot be compiled
configure: WARNING: odbcss.h: check for missing prerequisite headers?
configure: WARNING: odbcss.h: see the Autoconf documentation
configure: WARNING: odbcss.h: section "Present But Cannot Be Compiled"
configure: WARNING: odbcss.h: proceeding with the preprocessor's result
configure: WARNING: odbcss.h: in the future, the compiler will take precedence
configure: WARNING: ## ---------------------------------- ##
configure: WARNING: ## Report this to the FreeTDS lists. ##
configure: WARNING: ## ---------------------------------- ##

I'm reporting as indicated in the configure process. Beyond that,
configure completes and makefiles are generated.

Now the error is generated during the make process:

if i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I../../../src/apps
-I../../include -I../../../include -D_FREETDS_LIBRARY_SOURCE
-DUNIXODBC -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -g -O2
-Wdeclaration-after-statement -MT bsqldb.o -MD -MP -MF
".deps/bsqldb.Tpo" -c -o bsqldb.o ../../../src/apps/bsqldb.c; \
then mv -f ".deps/bsqldb.Tpo" ".deps/bsqldb.Po"; else rm -f
".deps/bsqldb.Tpo"; exit 1; fi
In file included from ../../../src/apps/bsqldb.c:52:0:
../../../include/sqlfront.h:39:30: error: conflicting type qualifiers
for ‘LPCBYTE’
/Users/luis/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.5.2/../../../../i686-w64-mingw32/include/winscard.h:22:23:
note: previous declaration of ‘LPCBYTE’ was here
make[3]: *** [bsqldb.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Here, the issue could be associated an existing declaration of LPCBYTE
that exists on mingw-w64 headers (but could be missing from MSVC or
mingw.org headers)

The goal of this research is succeed in the cross compilation of
FreeTDS and proceed to native compilation, aiming to later build
TiniTDS, a Ruby extension that wraps FreeTDS and provides access to
the FreeTDS supported databases.

Any hint on this will be appreciated.

On a sidenote, I was unable to find a bug tracker to report this issue
(direct link form the website) or source code checkout instructions
either.

I heard FreeTDS still uses CVS, is that true?

Thank you for your time.
--
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry




Archive powered by MHonArc 2.6.24.

Top of Page