JezK
Edit File: osissues.html
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>OS-specific Issues</title><link rel="stylesheet" type="text/css" href="userguide.css" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="home" href="index.html" title="FreeTDS User Guide" /><link rel="up" href="build.html" title="Chapter 2. Build FreeTDS" /><link rel="prev" href="config.html" title="How to build: Configure and make" /><link rel="next" href="install.html" title="Chapter 3. Install FreeTDS" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">OS-specific Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="config.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Build <span class="productname">FreeTDS</span></th><td width="20%" align="right"> <a accesskey="n" href="install.html">Next</a></td></tr></table><hr /></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="osissues"></a>OS-specific Issues</h2></div></div></div><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong></strong></p></div></div></div><p>If you've recently built and installed <span class="productname">FreeTDS</span> and noticed steps peculiar to your OS, we'll happily include your comments here.</p><p>One thing that can be said, if it's not too obvious: check with your vendor or favorite download site. <span class="productname">FreeTDS</span> is routinely rolled up into OS install packages. We know of packages for <span class="productname">Debian</span>, <span class="productname">Red Hat</span>, <span class="productname">FreeBSD</span>, and <span class="productname">NetBSD</span>. The installation through the package management systems in these environments may well reduce your work to simply <span class="command"><strong>make install</strong></span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Windows"></a>Win32 and Win64</h3></div></div></div><p>Officially <span class="productname">FreeTDS</span> for Windows should be compiled using CMake. CMake is able to create project files for different development systems (like Visual C++). Install CMake on your box and point to the source directory to generate wanted files. Refer to CMake documentation on how to do it (I personally use CMake GUI passing source directory and a newly create build directory). Once project files are created you can open them with your environment.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idm736"></a>Other ways to build under Windows®</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>MingW</p></li></ul></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idm741"></a>Download Windows® binaries</h4></div></div></div><p>You can download FreeTDS binaries for Windows from AppVeyor (the hosted CI platform used).</p><p>There is a .zip file available as artifact of every sucessful build. The list of builds is at <a class="ulink" href="https://ci.appveyor.com/project/FreeTDS/freetds/history" target="_top">https://ci.appveyor.com/project/FreeTDS/freetds/history</a>. You can find there builds of code in the master banch and (from time to time) builds from the post-1.0 release fixes-only Branch-1_00 branch. Every build matrix element generates its artifact.</p><p>Ramiro Morales also maintains similar builds of the Branch-0_95 branch at <a class="ulink" href="https://github.com/ramiro/freetds/releases" target="_top">https://github.com/ramiro/freetds/releases</a>.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="regsvr32"></a>ODBC driver registration</h4></div></div></div><p>If compiled correctly <span class="productname">FreeTDS</span> ODBC driver supports component registration. Although an ODBC driver is not a Windows component you can register the driver with regsvr32 utility or you can use this feature with some installer and register the driver as a standard component.</p><p>Once the ODBC driver is registered in the system you can configure it from Control Panel.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="VMS"></a>VMS®</h3></div></div></div><p><span class="productname">FreeTDS</span> will probably build and run on most versions of OpenVMS Alpha 7.0 and later with DEC/Compaq C 6.0 or later. Other prerequisites: </p><table border="0" summary="Simple list" class="simplelist"><tr><td><span class="application">gunzip</span></td></tr><tr><td><span class="application">vmstar</span></td></tr><tr><td><span class="application">MMS</span> or <span class="application">MMK</span></td></tr></table><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idm765"></a>Build Instructions</h4></div></div></div><p>Decompress and unpack the source archive using gunzip and vmstar. If you are untarring on an ODS-5 disk, you should use the <em class="parameter"><code>/ODS2</code></em> or <em class="parameter"><code>-o</code></em> option to create universally VMS-friendly filenames; otherwise the build will fail to locate some files.</p><p>Set default to the top-level source directory and run the configuration script:</p><pre class="screen"> <code class="prompt">$</code> <strong class="userinput"><code>@[.vms]configure</code></strong></pre><p> This creates a <code class="filename">descrip.mms</code> in the top-level source directory which you may execute by simply running MMS (if you have the Module Management System that is part of DECset) or MMK (a freeware MMS alternative available from <a class="ulink" href="http://www.madgoat.com" target="_top">www.madgoat.com</a>).</p><p>Further information can be found in the <code class="filename">vms/README.vms</code> in the source distribution.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="osx"></a>OS X®</h3></div></div></div><p>The regular distribution compiles on OS X.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="OSX.Build.LinkIssues"></a>Possible linker problems</h4></div></div></div><p>On 18 April 2016, a problem was reported causing linker issues. </p><pre class="screen"> Undefined symbols for architecture x86_64: "___strlcpy_chk", referenced from: _tdsdbopen in libsybdb_64.a(dblib.o) _db_env_chg in libsybdb_64.a(dblib.o) _dbcolinfo in libsybdb_64.a(dblib.o) _dbtablecolinfo in libsybdb_64.a(dblib.o) _tds_alloc_dynamic in libsybdb_64.a(mem.o) _tds7_get_instance_port in libsybdb_64.a(net.o) _tds_get_locale in libsybdb_64.a(locale.o) ... </pre><p> </p><p> This is due to some mismatch on different project releases. To solve these issue set the target release like </p><pre class="screen"> <strong class="userinput"><code>CFLAGS="-mmacosx-version-min=10.8" ./configure make</code></strong></pre><p> or </p><pre class="screen"> <strong class="userinput"><code>export MACOSX_DEPLOYMENT_TARGET=10.8 ./configure make</code></strong></pre><p> </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="AIX"></a>AIX®</h3></div></div></div><p>AIX® can induce linker indigestion. libtool doesn't always understand that a <code class="filename">.a</code> file can be a shared library. One solution is to build only static libraries with the <code class="option">--disable-shared</code> configure option.</p><p>Another problem seems to be that the linker isn't asked to pull in all the requisite libraries. Cf. this helpful <a class="ulink" href="http://lists.ibiblio.org/pipermail/freetds/2004q3/016748.html" target="_top">mailing list message</a>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="RPM"></a>GNU/Linux distributions that use RPMs</h3></div></div></div><p>You may find it convenient to make an RPM from the source distribution, in which case you'll be glad to know it is easily done: </p><pre class="screen"> <code class="prompt">$ </code><strong class="userinput"><code>rpmbuild -ta freetds-0.95.tar.bz2</code></strong></pre></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="config.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="build.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="install.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">How to build: Configure and make </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Install <span class="productname">FreeTDS</span></td></tr></table></div></body></html>