Linux, Unix, and Mac OS X deployment issues

Unix deployments are different from Windows deployments in some ways:

  • Directory structure   For Linux, Unix, and Mac OS X installations, the directory structure is as follows:

    Directory Contents
    /opt/sqlanywhere11/bin32 and /opt/sqlanywhere11/bin64 Executable files, License files
    /opt/sqlanywhere11/lib32 and /opt/sqlanywhere11/lib64 Shared objects and libraries
    /opt/sqlanywhere11/res String files

    On AIX, the default root directory is /usr/lpp/sqlanywhere11 instead of /opt/sqlanywhere11.

    On Mac OS X, the default root directory is /Applications/SQLAnywhere11/System instead of /opt/sqlanywhere11.

  • File suffixes   In the tables in this chapter, the shared objects are listed with a suffix of .so or .so.1. The version number, 1, could be higher as updates are released. For simplicity, the version number is often not listed.

    For AIX, the suffix does not contain a version number so it is simply .so.

  • Symbolic links   Each shared object is installed as a symbolic link (symlink) to a file of the same name with the additional suffix .1 (one). For example, libdblib11.so is a symbolic link to the file libdblib11.so.1 in the same directory.

    The version suffix .1 could be higher as updates are released and the symbolic link must be redirected.

    On Mac OS X, you should create a jnilib symbolic link for any dylib that you want to load directly from your Java client application.

  • Threaded and non-threaded applications   Most shared objects are provided in two forms, one of which has the additional characters _r before the file suffix. For example, in addition to libdblib11.so.1, there is a file named libdblib11_r.so.1. In this case, threaded applications must be linked to the shared object whose name has the _r suffix, while non-threaded applications must be linked to the shared object whose name does not have the _r suffix. Occasionally, there is a third form of shared object with _n before the file suffix. This is a version of the shared object that is used with non-threaded applications.

  • Character set conversion   If you want to use database server character set conversion, you need to include the following files:

    • libdbicu11.so.1
    • libdbicu11_r.so.1
    • libdbicudt11.so.1
    • sqlany.cvf

  • Environment variables   On Linux and Unix, environment variables must be set for the system to be able to locate SQL Anywhere applications and libraries. It is recommended that you use the appropriate file for your shell, either sa_config.sh or sa_config.csh (located in the directories /opt/sqlanywhere11/bin32 and /opt/sqlanywhere11/bin64) as a template for setting the required environment variables. Some of the environment variables set by these files include PATH, LD_LIBRARY_PATH, and SQLANY11.

For a description of how SQL Anywhere looks for files, see How SQL Anywhere locates files.