Should I install my Informix tools in the same directory as my IDS Server?
If two or more products have the same library name and are installed in the same directory, the last product installed will overwrite the other product's shared library of the same name. As long as the version number sequence is incremental, no problems may be visible - but, if an older version library installs after a newer version reference, there will be unexpected consequences. These problems can be avoided if Informix products are installed in separate directories.
Examples with CSDK
You can avoid problems if CSDK is always installed in a separate directory from the IDS server. A close examination of the IBM Informix version number will help to understand why. Usually the enhancement- maintenance release portion of the version number will match the IDS server version:
- IDS server 11.50.UC9 shipped with CSDK 3.50.UC9
- 11.70.FC5 shipped with CSDK 3.70.FC5, etc.
When CSDK is not installed at the same time with the IDS engine, enhancement differences need to be observed closely. For example, IDS server 11. 50.UC7 with CSDK 3. 50.UC4 reveals different enhancement releases. The products remain compatible but will work properly only when installed in different directories.
Other tools built on CSDK
Tools such as the 4GL compiler, 4GL debugger, RDS (Rapid Development System), or ISQL (and their various runtime versions) are built using the shared libraries of CSDK. The CSDK release level used to build the tool (4GL, ISQL, etc) creates another version aspect that needs monitoring at the time of a product installation, to avoid unexpected consequences.
Tools can install in the same directory, as long as the products are built using the same version of CSDK, down to the maintenance and enhancement level. If tools products are installed in the same place and are built on different versions of CSDK, it can lead to application program failures. Examples of program failures include problems such as blank screens, missing symbols, core dumps, and segmentation faults. When products are segregated, based on their CSDK build version into appropriate directories, applications will only need user environment variables for the PATH and LD_LIBRARY_PATH in order to work properly.
Note: Unlike the IDS/CSDK enhancement numbers, the enhancement numbering of the Tool and version of CSDK are not related. For example, 4GL 7.50.UC6 was built with CSDK 3.70.UC4.
Identify the CSDK build version for your tools
The CSDK build version can be found in the machine notes or release notes for the specified product. For installed products, this is located in $INFORMIXDIR/release/<language> subdirectory, or online through the IBM InfoCenter website (search for 'Release Notes' on the website). The release notes and machine notes specify the version of CSDK used to build the tool.
Other known Incompatibilities
CSDK 3.50.* and 3.70.* libraries cannot be mixed. Doing so will lead to application failure. Failure symptoms include symptoms such as blank form screens, core dumps, missing symbols, and segmentation faults.