CSDK installation on Docker linux container (.NET 8)
Posted in 2024
Aleksandrs Saiters could not install CSDK 4.50.FC10 in a .NET 8 Debian 12 Docker image because of a missing-prerequisites error. Javier Sagrera found the /usr/bin/file tool was missing; adding the file package fixed it. A later GSKit error (isisofile is null) was solved by setting LD_LIBRARY_PATH to /usr/local/ibm/gsk8_64/lib64. A working Dockerfile was shared; Clement Martin's odbcinst.ini question went unanswered.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Installation, Setup & Upgrades, Connectivity: ODBC / JDBC / .NET, Server Administration, Licensing & Editions, Platform-Specific Issues, Cloud, Docker & Containers, Internationalization & Character Sets
Hi! Our company are providing Informix maintenance for our client and for a while we started developing microservices using .NET Core. At this point of time we have service that acts as Informix connector. That service is working using .NET 7 docker image ( mcr.microsoft.com/dotnet/runtime:7.0 ) with Debian 11. But at this point of time .NET 7 is out of support. We are trying to move to .NET 8, using image ( mcr.microsoft.com/dotnet/runtime:8.0 ) with Debian 12, but have no success installing CSDK ( ibm.csdk.4.50.FC10.LNX.tar ). docker run --rm -it mcr.microsoft.com/dotnet/runtime:8.0 apt update apt install curl mkdir /opt/tmp \\ && curl /ibm.csdk/4.50.FC10.LNX/ibm.csdk.4.50.FC10.LNX.tar -o - | tar -xf - -C /opt/tmp apt update \\ && apt install -y unixodbc-dev libncurses5 libelf1 \\ && rm -rf /var/lib/apt/lists/* /opt/tmp/installclientsdk \\ -DLICENSE_ACCEPTED=TRUE \\ -DUSER_INSTALL_DIR=/opt/IBM/Informix_Client-SDK \\ -DCHOSEN_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR \\ -DCHOSEN_INSTALL_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR \\ -DCHOSEN_INSTALL_SET=Custom The result is: One or more prerequisite system libraries are not installed on your computer. Install libdl.so.2, libcrypt.so.1, libpam.so.0, libstdc++.so.6, libm.so.6, libgcc_s.so.1, libc.so.6, libncurses.so.5, libelf.so.1 and then restart the IBM Informix installation program. I have checked lib and usr/lib folders, all mentioned libraries are at place. Please help to solve this issue. ------------------------------ Aleksandrs Saiters ------------------------------
Quick test on my linux box shows that that ubuntu distro does not have the `/usr/bin/file` tool: ...Searching for /libc.so.6 2024-07-05 07:53:49 1198 1 Prerequisite check WARNING: While determining if file was found in cache... Cannot run program "/usr/bin/file": error=2, No such file or directory 2024-07-05 07:53:49 1198 1 missing file 2024-07-05 07:53:49 1198 1 testing /lib64/ld-linux-x86-64.so.2 2024-07-05 07:53:49 1198 1 File exists 2024-07-05 07:53:49 1198 1 testing /usr/lib64/libncurses.so.5 2024-07-05 07:53:49 1198 1 testing file/libncurses.so.5 2024-07-05 07:53:49 1198 1 Prerequisite check Message: After adding it to the apt install command I can successfully install CSDK apt install -y unixodbc-dev libncurses5 libelf1 file That should work. ------------------------------ Javier Sagrera ------------------------------
Thank you, it worked. ------------------------------ Aleksandrs Saiters ------------------------------
Unfortunately installation seems like successful, but it is not. There is error installing GSKit. 2024-07-11 07:59:43 7 1 getLibisiTarget 2024-07-11 07:59:43 7 1 running /tmp/822694.tmp/onisilib GSKit -i /opt/IBM/Informix_Client-SDK/lib/ 2024-07-11 07:59:43 7 1 process started 2024-07-11 07:59:43 7 1 exitcode:1 2024-07-11 07:59:43 7 1 process finished 2024-07-11 07:59:43 7 1 link target=/opt/IBM/Informix_Client-SDK/lib/ 2024-07-11 07:59:43 7 1 ERROR : result isisofile is null csdk_install.stderr __________________________________________________________________________ InstallAnywhere 2018 Version: 19.0 __________________________________________________________________________ Thu Jul 11 07:53:10 UTC 2024 Free Memory: 51572 kB Total Memory: 65536 kB 10 Command Line Args: 0: -i 1: console 2: -DLICENSE_ACCEPTED=TRUE 3: -DUSER_INSTALL_DIR=/opt/IBM/Informix_Client-SDK 4: -DCHOSEN_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR 5: -DCHOSEN_INSTALL_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR 6: -DCHOSEN_INSTALL_SET=Custom 7: -DDEBUG_FILE=/tmp/Debug.log 8: -DDEBUG_LEVEL=9 9: -DLOG_FILE=/tmp/Log.log java.class.path: /tmp/install.dir.7/InstallerData /tmp/install.dir.7/InstallerData/installer.zip ZGUtil.CLASS_PATH: /tmp/install.dir.7/InstallerData /tmp/install.dir.7/InstallerData/installer.zip sun.boot.class.path: /tmp/install.dir.7/Linux/resource/jre/lib/amd64/compressedrefs/jclSC180/vm.jar /tmp/install.dir.7/Linux/resource/jre/lib/se-service.jar /tmp/install.dir.7/Linux/resource/jre/lib/math.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmorb.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmorbapi.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmcfw.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmpkcs.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmcertpathfw.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmjgssfw.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmjssefw.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmsaslfw.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmjcefw.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmjgssprovider.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmjsseprovider2.jar /tmp/install.dir.7/Linux/resource/jre/lib/ibmcertpathprovider.jar /tmp/install.dir.7/Linux/resource/jre/lib/xmldsigfw.jar /tmp/install.dir.7/Linux/resource/jre/lib/xml.jar /tmp/install.dir.7/Linux/resource/jre/lib/charsets.jar /tmp/install.dir.7/Linux/resource/jre/lib/resources.jar /tmp/install.dir.7/Linux/resource/jre/lib/rt.jar /tmp/install.dir.7/Linux/resource/jre/lib/dataaccess.jar java.ext.dirs: /tmp/install.dir.7/Linux/resource/jre/lib/ext java.version == 1.8.0_351 (Java 1) java.vm.name == IBM J9 VM java.vm.vendor == IBM Corporation java.vm.version == 2.9 java.vm.specification.name == Java Virtual Machine Specification java.vm.specification.vendor == Oracle Corporation java.vm.specification.version == 1.8 java.specification.name == Java Platform API Specification java.specification.vendor == Oracle Corporation java.specification.version == 1.8 java.vendor == IBM Corporation java.vendor.url == http://www.ibm.com java.class.version == 52.0 java.library.path == /tmp/install.dir.7/Linux/resource/jre/lib/amd64/compressedrefs:/tmp/install.dir.7/Linux/resource/jre/lib/amd64:/usr/lib64:/usr/lib java.compiler == j9jit29 java.home == /tmp/install.dir.7/Linux/resource/jre java.io.tmpdir == /tmp os.name == Linux os.arch == amd64 os.version == 5.15.153.1-microsoft-standard-WSL2 path.separator == : file.separator == / file.encoding == ANSI_X3.4-1968 user.name == root user.home == /root user.dir == /tmp/install.dir.7 user.language == en user.region == null __________________________________________________________________________ Loading externalized properties System's temporary directory = /tmp 8. final log file name=/opt/IBM/Informix_Client-SDK/IBM_Informix_Client-SDK_Install_07_11_2024_07_59_16.log installUnixJRE: the source VM tar: /tmp/install.dir.7/Linux/resource/vm.tar exists = true installUnixJRE: the source VMRoot: /tmp/install.dir.7/Linux/resource/jre exists = true installUnixJRE: the dest VMRoot: /opt/IBM/Informix_Client-SDK/jvm/jre exists = true # # INSTALLING VM: /opt/IBM/Informix_Client-SDK/jvm/jre # installUnixJRE: Using new TAR technique... Destination path for tar extraction (sans 'jre') = /opt/IBM/Informix_Client-SDK/jvm installUnixJRE: install shell script: #!/bin/sh echo "InstallUnixJRE Script begun..." cd '/opt/IBM/Informix_Client-SDK/jvm/jre' rm -rf *'' cd '/opt/IBM/Informix_Client-SDK/jvm' tar xf '/tmp/install.dir.7/Linux/resource/vm.tar' chmod -R '755' '/opt/IBM/Informix_Client-SDK/jvm/jre' echo "...InstallUnixJRE Script complete." ##### SCRIPT END ############ XMLScriptWriter: No Installation Objects were skipped PerformXSLT: transformation completed successfully PerformXSLT: transformation completed successfully Retrying Installables deferred in pass 0 Deferral retries done because: There were no deferrals in the last pass. Execute Custom Code class com.ibm.informix.install.isi.InstallEncryptionSupport.install() runtime exception: java.lang.NullPointerException at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:286) at java.nio.file.Paths.get(Paths.java:95) at com.ibm.informix.install.isi.InstallEncryptionSupport.createLibisitarget(InstallEncryptionSupport.java:310) at com.ibm.informix.install.isi.InstallEncryptionSupport.install(InstallEncryptionSupport.java:212) at com.zerog.ia.installer.actions.CustomAction.installSelf(Unknown Source) at com.zerog.ia.installer.AAMgrBase.an(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.AAMgrBase.am(Unknown Source) at com.zerog.ia.installer.AAMgrBase.runNextInstallPiece(Unknown Source) at com.zerog.ia.installer.AAMgrBase.al(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.AAMgrBase.am(Unknown Source) at com.zerog.ia.installer.AAMgrBase.runNextInstallPiece(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.AAMgrBase.am(Unknown Source) at com.zerog.ia.installer.AAMgrBase.runNextInstallPiece(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.AAMgrBase.am(Unknown Source) at com.zerog.ia.installer.AAMgrBase.runNextInstallPiece(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.AAMgrBase.am(Unknown Source) at com.zerog.ia.installer.AAMgrBase.runNextInstallPiece(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.AAMgrBase.am(Unknown Source) at com.zerog.ia.installer.AAMgrBase.runNextInstallPiece(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.ac(Unknown Source) at com.zerog.ia.installer.ConsoleBasedAAMgr.runPostInstall(Unknown Source) at com.zerog.ia.installer.LifeCycleManager.consoleInstallMain(Unknown Source) at com.zerog.ia.installer.LifeCycleManager.executeApplication(Unknown Source) at com.zerog.ia.installer.Main.main(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at com.zerog.lax.LAX.launch(Unknown Source) at com.zerog.lax.LAX.main(Unknown Source) SHUTDOWN REQUESTED REGISTRY ALREADY STORED! Exiting with exit code: 1 8. final log file name=/opt/IBM/Informix_Client-SDK/IBM_Informix_Client-SDK_Install_07_11_2024_07_59_16.log cleanUp() calling cleanUpUNIX() ------------------------------ Aleksandrs Saiters ------------------------------
Ummmm, I tested again and my run does install Gskit successfully. I get the 'isioffile' error in the Debug file but not the Java exception: ``` root@feebd1e237ad:/opt/IBM/Informix_Client-SDK# grep -A10 "onisilib GSKit" /tmp/Debug.log 2024-07-11 08:39:38 264 1 running /tmp/571322.tmp/onisilib GSKit -i /opt/IBM/Informix_Client-SDK/lib/ 2024-07-11 08:39:38 264 1 process started 2024-07-11 08:39:38 264 1 exitcode:1 2024-07-11 08:39:38 264 1 process finished 2024-07-11 08:39:38 264 1 link target=/opt/IBM/Informix_Client-SDK/lib/ 2024-07-11 08:39:38 264 1 ERROR : result isisofile is null root@feebd1e237ad:/opt/IBM/Informix_Client-SDK# root@feebd1e237ad:/opt/IBM/Informix_Client-SDK# grep -A10 isi.InstallEncryptionSupport /tmp/Debug.log 2024-07-11 08:39:38 264 1 Enterclass com.ibm.informix.install.isi.InstallEncryptionSupport 2024-07-11 08:39:38 264 1 isiSupported==true, gskitSuggested=true 2024-07-11 08:39:38 264 1 Product name:IBM Informix Client-SDK 00063 jni_bridge/NativeAPI.c 2024-07-11 08:39:38 264 1 JNI:iadGetProductName: ENTER. 00067 API/iad_install.c 2024-07-11 08:39:38 264 1 iadGetProductName: ENTER. 00068 API/iad_install.c 2024-07-11 08:39:38 264 1 productType = 3. 00116 API/iad_install.c 2024-07-11 08:39:38 264 1 Product Name = 'Informix Client-SDK'. 00119 API/iad_install.c 2024-07-11 08:39:38 264 1 iadGetProductName: EXIT. rc=0(0x0). 00067 jni_bridge/NativeAPI.c 2024-07-11 08:39:38 264 1 JNI:iadGetProductName: EXIT. rc=0(0x0). root@feebd1e237ad:/opt/IBM/Informix_Client-SDK# ``` This is what I did after starting the container: ``` root@feebd1e237ad:/opt/tmp# history 1 apt update 2 mkdir /opt/tmp 3 apt install -y unixodbc-dev libncurses5 libelf1 file 4 mv /tmp/4.tar /opt/tmp 5 cd /opt/tmp 6 /opt/tmp/installclientsdk -DLICENSE_ACCEPTED=TRUE -DUSER_INSTALL_DIR=/opt/IBM/Informix_Client-SDK -DCHOSEN_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR -DCHOSEN_INSTALL_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR -DCHOSEN_INSTALL_SET=Custom 7 tar xf 4.tar 8 /opt/tmp/installclientsdk -DLICENSE_ACCEPTED=TRUE -DUSER_INSTALL_DIR=/opt/IBM/Informix_Client-SDK -DCHOSEN_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR -DCHOSEN_INSTALL_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR -DCHOSEN_INSTALL_SET=Custom -DDEBUG_FILE=/tmp/Debug.log -DDEBUG_LEVEL=9 9 ls 10 history root@feebd1e237ad:/opt/tmp# ls /opt/IBM/Informix_Client-SDK/ ``` And checking the INFORMIXDIR, I have gskit and the package was installed ('gsk8capicmd_64' is there) ``` root@feebd1e237ad:/opt/tmp# ls /opt/IBM/Informix_Client-SDK/ Global_Language_Support_Install_07_11_2024_08_38_55.log jvm/ IBM_Informix_Client-SDK_Install_07_11_2024_08_37_29.log lib/ bin/ msg/ doc/ properties/ etc/ release/ gls/ sdk_license/ gskit/ tmp/ incl/ uninstall/ root@feebd1e237ad:/opt/tmp# ls /opt/IBM/Informix_Client-SDK/gskit/ README gskcrypt64-8.0.55.26a.linux.x86_64.tar gskssl64-8.0.55.26a.linux.x86_64.tar installgskit root@feebd1e237ad:/opt/tmp# gsk8 gsk8capicmd_64 gsk8ver_64 root@feebd1e237ad:/opt/tmp# gsk8 gsk8capicmd_64 gsk8ver_64 root@feebd1e237ad:/opt/tmp# gsk8capicmd_64 root@feebd1e237ad:/opt/tmp# export LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64 root@feebd1e237ad:/opt/tmp# gsk8capicmd_64 -version GSKCAPICMD ========== @(#)CompanyName: IBM Corporation @(#)LegalTrademarks: IBM @(#)FileDescription: IBM Global Security Toolkit @(#)FileVersion: 8.0.55.26 @(#)InternalName: gskcapicmd @(#)LegalCopyright: Licensed Materials - Property of IBM GSKit (C) Copyright IBM Corp.1995, 2021 All Rights Reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. @(#)OriginalFilename: gsk8capicmd_64 @(#)ProductName: gsk8l (GoldCoast Build develop8) 211008 @(#)ProductVersion: 8.0.55.26 root@feebd1e237ad:/opt/tmp# ``` Can you check if gsk8capicmd_64 is there (/usr/bin/gsk8capicmd_64) and maybe attempt to run the Gskit install manually ($INFORMIXDIR/gskit/installgskit) after the CSDK install to see if it throws some error? ------------------------------ Javier Sagrera ------------------------------
Ok, I got this one: /usr/bin/gsk8capicmd_64. But kaniko build is failing because of ERROR : result isisofile is null. On .NET 7 container there was no such error. ------------------------------ Aleksandrs Saiters ------------------------------
Never used kaniko but digging a little bit more trying to find that 'ERROR' message I found that for some reason, that container image is not properly using /usr/lib64: During the install we run the 'onisilib' binary to findout which version we should use for encryption (libisi) It appears that, even if the GSkit libraries are there in /usr/lib64, they are not used. ``` root@ba953dfa3295:/tmp# ls -la /usr/local/ibm/gsk8_64/lib64 total 14664 drwxr-xr-x 4 root sys 4096 Jul 11 11:15 . drwxr-xr-x 6 root root 4096 Jul 11 11:15 .. drwxr-xr-x 3 root sys 4096 Jul 11 11:14 C drwxr-xr-x 3 root sys 4096 Jul 11 11:14 N -rwxr-xr-x 1 root sys 528360 Oct 8 2021 libgsk8acmeidup_64.so -rwxr-xr-x 1 root sys 4139496 Oct 8 2021 libgsk8cms_64.so -rwxr-xr-x 1 root sys 374544 Oct 8 2021 libgsk8dbfl_64.so -rwxr-xr-x 1 root sys 153008 Oct 8 2021 libgsk8drld_64.so -rwxr-xr-x 1 root sys 498272 Oct 8 2021 libgsk8iccs_64.so -rwxr-xr-x 1 root sys 752560 Oct 8 2021 libgsk8kicc_64.so -rwxr-xr-x 1 root sys 1151984 Oct 8 2021 libgsk8km2_64.so -rwxr-xr-x 1 root sys 1152944 Oct 8 2021 libgsk8km_64.so -rwxr-xr-x 1 root sys 541256 Oct 8 2021 libgsk8ldap_64.so -rwxr-xr-x 1 root sys 784240 Oct 8 2021 libgsk8p11_64.so -rwxr-xr-x 1 root sys 4470632 Oct 8 2021 libgsk8ssl_64.so -rwxr-xr-x 1 root sys 6136 Oct 8 2021 libgsk8sys_64.so -rwxr-xr-x 1 root sys 420192 Oct 8 2021 libgsk8valn_64.so root@ba953dfa3295:/tmp# root@ba953dfa3295:/tmp# ./809152.tmp/onisilib -d GSKit -i /opt/IBM/Informix_Client-SDK/lib/ libisi_gsk.so.2.2: trying libisi_gsk.so.2.2: cannot load cannot load library /opt/IBM/Informix_Client-SDK/lib//libisi_gsk.so.2.2 libgsk8iccs_64.so: cannot open shared object file: No such file or directory root@ba953dfa3295:/tmp# root@ba953dfa3295:/tmp# find / -name libgsk8iccs_64.so /usr/lib64/libgsk8iccs_64.so /usr/local/ibm/gsk8_64/lib64/libgsk8iccs_64.so root@ba953dfa3295:/tmp# ldd /usr/local/ibm/gsk8_64/lib64/libgsk8iccs_64.so linux-vdso.so.1 (0x00007ffd535f6000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2659e4b000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2659e46000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2659a1f000) /lib64/ld-linux-x86-64.so.2 (0x00007f2659e54000) root@ba953dfa3295:/tmp# Setting LD_LIBRARY_PATH to '/usr/local/ibm/gsk8_64/lib64' before running it: root@ba953dfa3295:/tmp# export LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64 root@ba953dfa3295:/tmp# ./809152.tmp/onisilib -d GSKit -i /opt/IBM/Informix_Client-SDK/lib/ libisi_gsk.so.2.2: trying libisi_gsk.so.2.2: selected libisi_gsk.so.2.2 root@ba953dfa3295:/tmp# Can you try running the installclientsdk command with something like: root@ba953dfa3295:/tmp# LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64 ./installclientsdk -DDEBUG_FILE=/tmp/Debug.log -DDEBUG_LEVEL=9 Preparing to install Extracting the JRE from the installer archive... .... .... root@ba953dfa3295:/tmp# grep ERROR Debug.log root@ba953dfa3295:/tmp# grep onisi Debug.log 2024-07-11 11:27:59 6349 1 Resouce = com/ibm/informix/isi/onisilib 2024-07-11 11:27:59 6349 1 Destination = /tmp/945673.tmp/onisilib 2024-07-11 11:27:59 6349 1 running /tmp/945673.tmp/onisilib GSKit -i /opt/IBM/Informix_Client-SDK/lib/ root@ba953dfa3295:/tmp# grep -A10 onisi Debug.log 2024-07-11 11:27:59 6349 1 Resouce = com/ibm/informix/isi/onisilib 2024-07-11 11:27:59 6349 1 Destination = /tmp/945673.tmp/onisilib 2024-07-11 11:27:59 6349 1 InformixIA:getIAResource: EXIT. rc=0(0x0). 2024-07-11 11:27:59 6349 1 getLibisiTarget 2024-07-11 11:27:59 6349 1 running /tmp/945673.tmp/onisilib GSKit -i /opt/IBM/Informix_Client-SDK/lib/ 2024-07-11 11:27:59 6349 1 process started 2024-07-11 11:27:59 6349 1 process line:libisi_gsk.so.2.2 2024-07-11 11:27:59 6349 1 exitcode:0 2024-07-11 11:27:59 6349 1 process finished 2024-07-11 11:27:59 6349 1 link target=/opt/IBM/Informix_Client-SDK/lib/libisi_gsk.so.2.2 2024-07-11 11:27:59 6349 1 result libisi_gsk.so.2.2 2024-07-11 11:27:59 6349 1 InstallEncryptionSupport: EXIT. rc=0(0x0). root@ba953dfa3295:/tmp# ------------------------------ Javier Sagrera ------------------------------
It worked. Now it is success. Thank you very much! ------------------------------ Aleksandrs Saiters ------------------------------
Do you have a working Dockerfile code? I need to deploy a CSDK installation on Docker Linux, but I have many errors when building the container. ------------------------------ Clement Martin ------------------------------
This one is working for us. But you should explore and adjust it for your needs.
ARG BASE_CONTAINER=mcr.microsoft.com/dotnet/runtime:8.0
FROM alpine AS package
ARG CI_API_V4_URL
ARG CI_PROJECT_ID
ARG CSDK_VERSION
ARG CI_JOB_TOKEN
RUN apk add --no-cache curl
# Locally #######
RUN mkdir /opt/tmp \\
&& curl -L --user "$CI_JOB_TOKEN" ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/ibm.csdk/${CSDK_VERSION}/ibm.csdk.${CSDK_VERSION}.tar -o - | tar -xf - -C /opt/tmp
# /Locally ######
FROM ${BASE_CONTAINER} AS base
RUN apt update \\
&& apt install -y unixodbc-dev libncurses5 libelf1 file \\
&& rm -rf /var/lib/apt/lists/*
COPY --from=package /opt/tmp/installclientsdk /opt/tmp/installclientsdk
RUN LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64 /opt/tmp/installclientsdk -i silent \\
-DLICENSE_ACCEPTED=TRUE \\
-DUSER_INSTALL_DIR=/opt/IBM/Informix_Client-SDK \\
-DCHOSEN_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR \\
-DCHOSEN_INSTALL_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR \\
-DCHOSEN_INSTALL_SET=Custom
RUN rm /opt/tmp/installclientsdk
COPY --chown=root:root ./lv_lv /opt/IBM/Informix_Client-SDK/gls/lc11/lv_lv
ENV \\
INFORMIXDIR=/opt/IBM/Informix_Client-SDK \\
LD_LIBRARY_PATH=/opt/IBM/Informix_Client-SDK/lib:/opt/IBM/Informix_Client-SDK/lib/esql:/opt/IBM/Informix_Client-SDK/lib/cli------------------------------
Aleksandrs Saiters
------------------------------
Thank you Aleksandrs. Did you need to populate the odbcinst.ini file, or is this only needed when building a Linux container? I appreciate your help. CM ------------------------------ Clement Martin ------------------------------
We haven`t populating such a file and, can`t help you with this. Don`t know what you think when you say "Linux container". We are using .NET 8 container (mcr.microsoft.com/dotnet/runtime:8.0) that are base on Debian 12. If you are using another container I think you should search for another topic or start a new one. ------------------------------ Aleksandrs Saiters ------------------------------