LINUX ESQL/C


                      =================================
                            MACHINE SPECIFIC NOTES
                                    FOR
              HCL OneDB Client SDK 1.0.1.0 PRODUCT RELEASE
                     HCL OneDB-ESQL/C Version 1.0
                             On Linux Intel 64bit
                               DATE: 15 May 2021
                      =================================

OS Information : Built on Red Hat Enterprise Linux ES release 7.4 (Maipo)
                 Certified on SUSE SLES 12.3 and 15,
                 Ubuntu Server Edition 16.04 LTS and 17.10.

Machine Specific Notes
======================

1. This product was built on Red Hat Enterprise Linux ES release 7.4
   (Kernel:  3.10.0-693, Glibc: 2.17) for x86_64 compatible processors.
   The following compilers were used:

        gcc and g++ compiler 4.8.5 20150623 (Red Hat 4.8.5-16)

   Installing the product on Ubuntu or Debian requires RPM to be installed
   and initialized. After RPM installed, use the following commands to 
   initialize RPM:

        mkdir -p /var/lib/rpm 
        rpm --initdb

   The bc utility is required by the product installer, and needs to be 
   installed on Ubuntu.

2. ESQL/C support for static libraries

   ESQL/C product libraries are supported as both static and shared
   libraries. By default the script uses shared libraries.
   To use static libraries, the 'esql' script must be invoked with the
   -static option:

        esql -static

   To use ESQL/C shared libraries, the environment variable LD_LIBRARY_PATH
   should be set to include $INFORMIXDIR/lib and $INFORMIXDIR/lib/esql.
   During runtime of the executable, the dynamic loader will look in this
   path for HCL OneDB ESQL/C shared libraries.

      (for Bourne or Korn Shell)
      LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH
      export LD_LIBRARY_PATH
 
      (for C Shell)
      setenv LD_LIBRARY_PATH  $INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH
   
3. ESQL/C support for thread safe libraries

   The thread safe ESQL/C libraries are supported on this platform using
   POSIX threads. The THREADLIB environment variable must be to POSIX:

      (for Bourne or Korn Shell)
      THREADLIB=POSIX
      export THREADLIB
   
      (for C Shell)
      setenv THREADLIB POSIX

   To build thread safe ESQL/C programs, use the following command:

      esql -thread  mythreadapp.ec -o mythreadapp

   Applications that have NOT been compiled with the -thread option CANNOT be
   linked with applications that HAVE been compiled with the -thread option.
   To use threads in an application, compile ALL of its modules with the
   "-thread" option.

4. Pluggable Authentication Module (PAM)

   PAM functionality is supported on Linux operating systems. The PAM is 
   dependent on the libpam.so library supplied by the Operating System vendor.

   Use of PAM can be enabled or disabled by the system administrator. By 
   default, HCL OneDB will use the traditional authentication mechanism in 
   order to avoid widespread changes required by the users.

   The PAM service identifies the PAM module. This PAM module typically
   resides in /lib/security and its parameters are listed in /etc/pam.d.
   The pam.conf file is ignored on Linux, if the /etc/pam.d directory is 
   present.

5. IPv6 Support 

   The product supports Internet Protocol Version 6 (128 Bit Internet Addresses)
   as well as IPv4 (32 Bit Addresses).

   In order for the machine name specified in the SQLHOSTS file to resolve
   to the correct IP address, the name services files on the Operating System
   should be correctly configured. If the machine has IPv6 address configured
   and the listener thread is bound to an IPv6 address, then the name
   resolution files /etc/netsvc.conf should be configured to fetch IPv6
   address. Also use the appropriate /etc/hosts setting if local machine
   settings are used.

   For compatibility with older HCL OneDB client and server products,
   assign the same hostname with both an IPv4 address and an IPv6 address.
   If the listener needs to be bound to an IPv4 address and the name services
   resolve the name in the order of the IPv6 address followed by IPv4 address,
   then an explicit IPv4 address needs to be put in nodename field of SQLHOSTS
   file. Client applications should also use the same setting.