Re: FreeTDS with Wine Issue
"James K. Lowden" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
Chad Sikorra wrote: > > Suggestions: > > > > 1. Upgrade. > Suggestion number one did the trick! Yay! > I had to do ' ./configure > --with-unixodbc=/usr ' to get it to build correctly. It was a pain, but > a nice learning experience I guess :) That might be because of the odbc_config you found. Here's confgure.ac: AC_CHECK_PROG(ODBC_CONFIG,odbc_config,odbc_config) That searches your PATH for odbc_config. If it's not found, configure searches your systems's header files -- locations defined how? Probably by letting the compiler do the checking -- for isql.h or sql.h. We're using AC_HEADER_CHECKS in autoconf. Whether or not it finds it, the location can be overridden later by one of the --with options: AC_ARG_WITH(unixodbc, AS_HELP_STRING([--with-unixodbc=DIR], [build odbc driver against unixODBC in DIR])) if test "$with_unixodbc"; then if echo "$with_unixodbc" | grep -v '^/'; then with_unixodbc="$PWD/$with_unixodbc" fi CPPFLAGS="$CPPFLAGS -DUNIXODBC" if test -f "$with_unixodbc/bin/odbc_config"; then ODBC_CONFIG="$with_unixodbc/bin/odbc_config" ODBC_INC=`$ODBC_CONFIG --include-prefix` LDFLAGS="$LDFLAGS -L`$ODBC_CONFIG --lib-prefix`" else # if not available do not use system default ODBC_CONFIG="" ODBC_INC="$with_unixodbc/include" LDFLAGS="$LDFLAGS -L$with_unixodbc/lib" fi test -r "$ODBC_INC/sql.h" || AC_ERROR([sql.h not found]) test -r "$ODBC_INC/sqlext.h" || AC_ERROR([sqlext.h not found]) ODBC_INC="-I$ODBC_INC" ODBCLIB="-lodbc" odbc=true unixodbc=true fi IOW, you don't need odbc-config. The configure script runs odbc-config, if it finds it, to generate the INCLUDE string (in $ODBC_INC). If it doesn't find it, it looks around for header files. Regardless, --with-unixodbc overrides whatever it happens to find. BUT: if you specify --with-unixodbc=DIR *and* there's a DIR/bin/odbc_config, it runs that to set the INCLUDE path. (whew!) Mine does this: $ /usr/local/bin/odbc_config --include-prefix /usr/local/include >From what you said, I would expect one of two things: 1. You (now) have /usr/bin/odbc-config which, when run with --include-prefix, produces '/usr'. But your gcc doesn't by default look in /usr/include. or 2. odbc-config is elsewhere on your path and produces something other than '/usr', forcing you to override its output using --with-unixodbc. There are other possibilities, too, but they're not likely. I'd bet on #2. > Also, I still received the same error message if I had the TDSVER set to > 4.2. Setting the version to 8.0 cleared the issue up Might be a protocol limitation. > Thanks again for the suggestion. That's another application I can cross > off my list of reasons for still booting into my Windows XP virtual > machine. A happy camper, good news on a Saturday morning! --jkl