Installing SQL Relay Prerequisites


Platforms

SQL Relay is supported on a variety of Linux/Unix systems and Windows. Building SQL Relay on these platforms requires the installation of a compiler toolchain and other bits of optional software. Instructions follow for many supported platforms.

Linux

SQL Relay is supported on a variety of Linux platforms including Fedora, CentOS, openSUSE, Debian, and Ubuntu.

Fedora

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

dnf -y install gcc-c++ make perl-devel php-devel php-pdo \
python-devel ruby-devel ruby-libs ruby tcl-devel java-1.8.0-openjdk-devel \
erlang nodejs-devel node-gyp mono-devel mono-data-oracle mariadb-devel \
postgresql-devel firebird-devel firebird-libfbclient sqlite-devel \
unixODBC-devel freetds-devel

The gcc-c++ and make packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php-devel and php-pdo packages.

Note that on older Fedora platforms:

Packages for for Oracle, SAP/Sybase, DB2, and Informix client API's are not available from dnf/yum repositories and must be installed separately.

The simplest way to install the Oracle client API is to download the Oracle Instant Client RPM's from Oracle and install them using the following commands, as root:

dnf install libaio
rpm -i oracle-instantclient12.1-basic-* oracle-instantclient12.1-devel-*

For SAP/Sybase, you have to download the ASE installer from SAP and install the client components. See Getting Started with SAP/Sybase for more information.

For DB2, you have to download the installer from IBM and perform a full installation. See Getting Started with IBM DB2 for more information.

For Informix, you also have to download the installer from IBM and perform a full installation, though it isn't necessary to create a local instance.


CentOS

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

yum -y install gcc-c++ make perl-devel php-devel php-pdo \
python-devel ruby-devel ruby-libs ruby tcl-devel java-1.7.0-openjdk-devel \
mariadb-devel postgresql-devel sqlite-devel unixODBC-devel

The gcc-c++ and make packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php-devel and php-pdo packages.

Note that on older CentOS platforms, MariaDB is not available, so mariadb-devel must be replaced with mysql-devel.

Packages are not available for Erlang, node.js, Mono, Firebird, FreeTDS, or MDB Tools. If support is required for these languages or databases, then they must be built and installed from source.

Packages for for Oracle, SAP/Sybase, DB2, and Informix client API's are not available from yum repositories and must be installed separately.

The simplest way to install the Oracle client API is to download the Oracle Instant Client RPM's from Oracle and install them using the following commands, as root:

yum install libaio
rpm -i oracle-instantclient12.1-basic-* oracle-instantclient12.1-devel-*

For SAP/Sybase, you have to download the ASE installer from SAP and install the client components. See Getting Started with SAP/Sybase for more information.

For DB2, you have to download the installer from IBM and perform a full installation. See Getting Started with IBM DB2 for more information.

For Informix, you also have to download the installer from IBM and perform a full installation, though it isn't necessary to create a local instance.


openSUSE

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

zypper install gcc-c++ make perl php5-devel php5-pdo \
python-devel ruby-devel ruby2.1 tcl-devel java-1.8.0-openjdk-devel erlang \
nodejs-devel node-gyp mono-devel mono-data-oracle libmyqlclient-devel \
postgresql93-devel firebird-devel libsqlite3-devel unixODBC-devel \
freetds-devel

The gcc-c++ and make packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php5-devel and php5-pdo packages.

Note that on older openSUSE platforms:

Packages for for Oracle, SAP/Sybase, DB2, and Informix client API's are not available from zypper repositories and must be installed separately.

The simplest way to install the Oracle client API is to download the Oracle Instant Client RPM's from Oracle and install them using the following commands, as root:

zypper install libaio1
rpm -i oracle-instantclient12.1-basic-* oracle-instantclient12.1-devel-*

For SAP/Sybase, you have to download the ASE installer from SAP but you only have to install the client components. See Getting Started with SAP/Sybase for more information.

For DB2, you have to download the installer from IBM and perform a full installation. See Getting Started with IBM DB2 for more information.

For Informix, you also have to download the installer from IBM and perform a full installation, though it isn't necessary to create a local instance.


Ubuntu

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

apt-get install g++ make perl php5-dev python-dev ruby-dev \
tcl-dev openjdk-7-jdk erlang-dev nodejs-dev node-gyp mono-devel \
libmariadbclient-dev libpq-dev firebird-dev libfbclient2 libsqlite3-dev \
unixodbc-dev freetds-dev

The g++ and make packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php5-dev package.

Note that on older Ubuntu platforms MariaDB is not available, so libmariadbclient-dev must be replaced with libmysqlclient-devel.

Packages for for Oracle, SAP/Sybase, DB2, and Informix client API's are not available from apt repositories and must be installed separately.

The simplest way to install the Oracle client API is to download the Oracle Instant Client zips from Oracle and install them using the following commands, as root:

apt-get install libaio1 unzip
unzip instantclient-basic-linux.*.zip
unzip instantclient-sdk-linux.*.zip
mv instantclient_12_1 /usr/local

For SAP/Sybase, you have to download the ASE installer from SAP but you only have to install the client components. See Getting Started with SAP/Sybase for more information.

For DB2, you have to download the installer from IBM and perform a full installation. See Getting Started with IBM DB2 for more information.

For Informix, you also have to download the installer from IBM and perform a full installation, though it isn't necessary to create a local instance.


Debian

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

apt-get install g++ make perl php5-dev python-dev ruby-dev \
tcl-dev openjdk-7-jdk erlang-dev nodejs-dev node-gyp mono-devel \
libmysqlclient-dev libpq-dev firebird-dev libfbclient2 libsqlite3-dev \
unixodbc-dev freetds-dev

The g++ and make packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php5-dev package.

Packages for for Oracle, SAP/Sybase, DB2, and Informix client API's are not available from apt repositories and must be installed separately.

The simplest way to install the Oracle client API is to download the Oracle Instant Client zips from Oracle and install them using the following commands, as root:

apt-get install libaio1 unzip
unzip instantclient-basic-linux.*.zip
unzip instantclient-sdk-linux.*.zip
mv instantclient_12_1 /usr/local

For SAP/Sybase, you have to download the ASE installer from SAP and install the client components. See Getting Started with SAP/Sybase for more information.

For DB2, you have to download the installer from IBM and perform a full installation. See Getting Started with IBM DB2 for more information.

For Informix, you also have to download the installer from IBM and perform a full installation, though it isn't necessary to create a local instance.


Unix

SQL Relay is supported on a variety of Unix platforms including FreeBSD, NetBSD, OpenBSD, and Minix.

FreeBSD

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

pkg install clang gmake perl php55 php55-pdo python ruby tcl86 \
openjdk8 erlang node npm pkgconf mono mysql56-client postgresql92-client \
firebird25-client sqlite3 unixODBC freetds
npm install node-gyp

The clang and gmake packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php55 and php55-pdo packages.

Note that on older FreeBSD platforms:

Native Oracle, SAP/Sybase, DB2, and Informix client API's are not available for FreeBSD in any form.


NetBSD

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

pkgin install g++ gmake perl php55 php55-pdo python27 ruby tcl \
openjdk7 erlang nodejs pkg-config mono mysql-client postgresql92-client \
sqlite3 unixodbc freetds

The g++ and gmake packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php55 and php55-pdo packages.

Note that on older NetBSD platforms:

Packages are not available for Firebird or MDB Tools. If support is required for these databases, then they must be built and installed from source.

Native Oracle, SAP/Sybase, DB2, and Informix client API's are not available for NetBSD in any form.


OpenBSD

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, add a line to /etc/pkg.conf like:

installpath = ftp://ftp.usa.openbsd.org/pub/OpenBSD/5.8/packages/amd64/

(replacing 5.8 with the version of OpenBSD that you are using and replacing amd64 with the architecture given by uname -m)

... and execute the following command, as root:

pkg_add -r g++ gmake perl php python ruby tcl erlang node mono \
mariadb-client postgresql-client iodbc freetds

The g++ and gmake packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php packages.

Packages are not available for OpenJDK, Firebird or SQLite. If support is required for these languages or databases, then they must be built and installed from source.

Native Oracle, SAP/Sybase, DB2, and Informix client API's are not available for OpenBSD in any form.

Minix

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

To install the rest of the prerequisites at once, execute the following command, as root:

pkgin install clang binutils gmake perl python27 tcl mysql \
postgresql84 iodbc freetds

The clang, binutils, and gmake packages are required, but the rest are optional and may be omitted as appropriate. For example, if you don't need PHP support, then you can omit the php packages.

SQLite is installed as part of the base installation.

Packages are not available for PHP, Ruby, OpenJDK, Erlang, node.js, Mono, Firebird or MDB Tools. If support is required for these languages or databases, then they must be built and installed from source.

Native Oracle, SAP/Sybase, DB2, and Informix client API's are not available for Minix in any form.


Windows

SQL Relay is supported on a variety of Windows platforms. Building SQL Relay on these platforms requires the installation of a compiler toolchain and other bits of optional software.

If you haven't already, you must first install the Rudiments library. Download the library from rudiments.sourceforge.net and follow the instructions for Installing Rudiments.

SQL Relay can be built using the Microsoft Visual Studio and Visual Studio Express toolchains. Visual Studio Express can be downloaded for free from Microsoft and the installer is intuitive.

Perl, Python, and TCL packages for Windows are available from ActiveState. All three are available for free and come with intuitive installers. The Python and TCL packages are complete. Some Active Perl packages lack the .lib file required for building Perl modules though and it must be built manually. See Generating a Missing Import File From a DLL for instructions.

PHP packages for Windows are available from the PHP project. The installer is intuitive but the packages lack headers necessary to build PHP modules and they must be generated manually. See Shoehorning Development Headers Into PHP for Windows for instructions.

Ruby packages for Windows are available but lack so many of the components necessary to build Ruby modules, that it is simpler to just build it from source. See Building Ruby From Source With Microsoft Visual Studio for instructions.

Java packages for Windows are available from Oracle. The installer is intuitive and the packages are is complete.

node.js packages for Windows are available from the node.js project. The installer is intuitive but the packages lack development files necessary to build node.js modules and they must be installed separately. To do this, execute the following commands, post-install:

npm install node-gyp
node c:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js install 0.12.5

... replacing 0.12.5 with the version of node.js that you are using.

Support for C# and other .NET languages is provided by Visual Studio. No additional software needs to be installed to build SQL Relay's C# or ADO.NET modules.

MySQL packages for Windows are available from the MySQL project. The Connector/C package is the only package that is necessary to install to build SQL Relay with support for MySQL. The installer is intuitive and the packages are complete.

PostgreSQL packages for Windows are available from the PostgreSQL project. The installer is intuitive and the packages are complete.

Firebird packages for Windows are available from the Firebird project. The installer is intuitive and the packages are complete.

Oracle packages for Windows are available from Oracle. The Instant Client package is the only package that is necessary to install to build SQL Relay with support for Oracle. The installer is intuitive and the packages are complete.

SAP/Sybase packages for Windows are available from SAP. The ASE installer is intuitive. You only have to install the client components.

DB2 packages for Windows are available from IBM. The installer is intuitive and the packages are complete. You will have to perform a full installation though.

Informix packages for Windows are available from IBM. The installer is intuitive and the packages are complete. You will have to perform a full installation, though it isn't necessary to create a local instance.

Support for ODBC is provided by Visual Studio and Windows itself. No additional software needs to be installed to build SQL Relay's ODBC modules.

On Linux and Unix platforms, SQL Relay uses FreeTDS is generally used to access Microsoft SQL Server but on Windows, ODBC is used instead. The ODBC driver for SQL Server must be installed to connect to a SQL Server database, but no additional software needs to be installed to build SQL Relay.