Compiling Software From Source
Compiling Software From Source
http://www.freetds.org/userguide/cong.htm
Prev
Next
For Experts
$ ./configure --prefix=/usr/local
$ make
$ su root
Password:
$ make install
INSTALL.CVS.
ODBC Preparation
If you intend to build the FreeTDS ODBC driver and want to use a Driver Manager (DM), as most people do
install the Driver Manager before conguring FreeTDS. congure will detect the the DM and use its header ( .h)
les for ODBC constants and such. If your DM is installed in an unusual directory, you may have to provide the
directory name as a parameter to congure.
FreeTDS doesn't require a DM. You can build the ODBC driver without one, as long as you have the requisite
header les: sql.h, sqlext.h and sqltypes.h. These can be taken from either the iODBC or UnixODBC distributions.
Put them wherever you like (e.g., /usr/local/include). Because FreeTDS won't detect your (missing) DM, it won't
automatically build the ODBC driver, so you'll have to tell congure what to do and where to look. Cf. --withodbc-nodm.
and sometimes that's enough. congure accepts command-line arguments, too, and you may need to provide
some, depending on your environment.
There are a few optional arguments to congure that may be important to you. For a complete list, see congure
--help.
congure options
Directories and TDS version
--prefix=PREFIX
install architecture-independent les in PREFIX. When you run make install, libraries will be placed in
PREFIX/lib, executables in PREFIX/bin, and so on.
The default is
/usr/local
--sysconfdir=DIR
PREFIX/etc (PREFIX
DIR
--prefix=PREFIX,
--with-libiconv-prefix=DIR
Species the location of the iconv library to use. congure will search for libiconv in the usual places; use
--with-libiconv-prefix if it's unsuccessful (assuming you want to use iconv, of course). Overridden by --disablelibiconv, below.
--with-tdsver=VER
1 of 3
01/02/2014 11:21 AM
http://www.freetds.org/userguide/cong.htm
Species the default TDS version. (There are a couple of ways to set the TDS version at run-time. This
parameter takes eect if no run-time settings are provided.) Acceptable values of VER are 4.2, 4.6, 5.0, 7.0,
and 7.2.
The default is
5.0
7.1
--with-unixodbc=DIR
Specify directory of iODBC or unixODBC support, and use it as the Driver Manager. As of version 0.62, the
ODBC Driver Manager is detected by congure, so use this parameter only if yours is installed in a
nonstandard path. (Requires iODBC or unixODBC to have already been installed.)
--with-odbc-nodm=DIR
If you're building the ODBC driver and not using a Driver Manager, use this option to indicate the location of
the .h les. congure will not cause the ODBC driver to be built unless this option is used or a DM is
detected/specied.
Things you can turn o
--disable-odbc
Do not attempt to detect ODBC, and do not build the ODBC driver. In case you don't care about ODBC.
--disable-apps
By default, congure will search your system for an iconv library for use with Microsoft servers (because TDS
7.0 employs Unicode). This switch prevents that search. If no iconv library is used, FreeTDS relies on its
built-in iconv emulation, which is capable of converting ISO-8859-1 to UCS-2, suicient for many applications.
--disable-threadsafe
Force FreeTDS not to use threadsafe versions of functions such as gethostbyname_r() where available. Rely
instead on the older and non-threadsafe ones such as gethostbyname(). congure tests some of these functions.
If the tests are successful, FreeTDS will use threadsafe functions throughout.
Threadsafe operation has been tested on Linux, FreeBSD, and HP-UX. It should work on Solaris, Tru64, and
(reportedly) IRIX. Not expected to work on non-unixy systems. It is a good idea to enable threadsafe operation
if you congure Apache with multi-threading support.
--disable-debug
Debug-mode compiles are enabled by default, and will remain so at least until version 1.0. You can speed
things up ever so slightly by disabling it.
Things you can turn on
--enable-msdblib
Enable Microsoft behavior in the DB-Library API where it diverges from Sybase's. Use this option if you are
replacing Microsoft's libraries with FreeTDS
This option species default behavior. Programs can change the default at compile time by dening MSDBLIB
or SYBDBLIB (for Microsoft or Sybase behavior, respectively).
--enable-sybase-compat
Enable close compatibility with Sybase's ABI, at the expense of other features. Currently, this enables the
generation of a dbopen() entry point in DB-Library, which may clash with the DBM function with the same
name. Absolutely not required for use with other free software.
--enable-krb5
Enable Kerberos support. With Kerberos you can connect to server using your stored Kerberos ticket.
Obviously requires Kerberos be congured on the machine.
--enable-sspi
Enable SSPI support. SSPI is a Micrsoft library that allows you to use your current logged-in account for
authentication. With this option enabled, FreeTDS supports "trusted logins" for Win32/64, just as Microsoft's
own implementations do.
2 of 3
01/02/2014 11:21 AM
http://www.freetds.org/userguide/cong.htm
--enable-extra-checks
Intended for debugging purposes, enables certain internal consistency checks against problems like memory
corruption and buer exhaustion.
--enable-developing
Enable some code still in development. Should be used only by a developer or a brave user :)
SSL support
--with-gnutls
Enable SSL using OpenSSL. Unlike FreeTDS, OpenSSL does not use the LGPL. Please read the OpenSSL
license before distributing binaries compiled with this option.
Make
Now you're ready to build. Follow these easy steps.
1. Download the tarball and unpack it.
Alternatively, get the latest build from CVS [1] .
2. Change to the
freetds
directory.
--prefix
With any luck, you've built and installed the FreeTDS libraries.
Two bits of advice, if you like to keep things tidy and keep track of what you did.
Create a le to hold your congure options called, say,
.build_options.
Create a build directory for the binaries, and invoke ../congure $(cat ../.build_options).
This approach lets you remove the binaries at any time and rebuild from scratch using the same options.
Notes
[1]
CVS users will need the GNU autotools: Autoconf, Automake, and libtool.
Prev
What to build: Packages, Tarballs, and
the CVS repository
3 of 3
Home
Up
Next
OS-specic Issues
01/02/2014 11:21 AM