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.
Original Message:
Sent: Fri October 18, 2024 01:04 AM
From: Clement Martin
Subject: CSDK installation on Docker linux container (.NET 8)
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
Original Message:
Sent: Fri October 18, 2024 12:44 AM
From: Aleksandrs Saiters
Subject: CSDK installation on Docker linux container (.NET 8)
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.0FROM alpine AS packageARG CI_API_V4_URLARG CI_PROJECT_IDARG CSDK_VERSIONARG CI_JOB_TOKENRUN 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 baseRUN apt update \ && apt install -y unixodbc-dev libncurses5 libelf1 file \ && rm -rf /var/lib/apt/lists/*COPY --from=package /opt/tmp/installclientsdk /opt/tmp/installclientsdkRUN 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=CustomRUN rm /opt/tmp/installclientsdkCOPY --chown=root:root ./lv_lv /opt/IBM/Informix_Client-SDK/gls/lc11/lv_lvENV \ 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
Original Message:
Sent: Wed October 16, 2024 07:14 PM
From: Clement Martin
Subject: CSDK installation on Docker linux container (.NET 8)
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
Original Message:
Sent: Thu July 11, 2024 07:58 AM
From: Aleksandrs Saiters
Subject: CSDK installation on Docker linux container (.NET 8)
It worked. Now it is success. Thank you very much!
------------------------------
Aleksandrs Saiters
Original Message:
Sent: Thu July 11, 2024 07:32 AM
From: Javier Sagrera
Subject: CSDK installation on Docker linux container (.NET 8)
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
Original Message:
Sent: Thu July 11, 2024 04:20 AM
From: Aleksandrs Saiters
Subject: CSDK installation on Docker linux container (.NET 8)
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 2018Version: 19.0__________________________________________________________________________Thu Jul 11 07:53:10 UTC 2024Free Memory: 51572 kBTotal Memory: 65536 kB10 Command Line Args:0: -i1: console2: -DLICENSE_ACCEPTED=TRUE3: -DUSER_INSTALL_DIR=/opt/IBM/Informix_Client-SDK4: -DCHOSEN_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR5: -DCHOSEN_INSTALL_FEATURE_LIST=SDK,SDK-ODBC,DBA-DBA,SDK-NETCORE,GLS,GLS-WEURAM,GLS-EEUR6: -DCHOSEN_INSTALL_SET=Custom7: -DDEBUG_FILE=/tmp/Debug.log8: -DDEBUG_LEVEL=99: -DLOG_FILE=/tmp/Log.logjava.class.path: /tmp/install.dir.7/InstallerData /tmp/install.dir.7/InstallerData/installer.zipZGUtil.CLASS_PATH: /tmp/install.dir.7/InstallerData /tmp/install.dir.7/InstallerData/installer.zipsun.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.jarjava.ext.dirs: /tmp/install.dir.7/Linux/resource/jre/lib/extjava.version == 1.8.0_351 (Java 1)java.vm.name == IBM J9 VMjava.vm.vendor == IBM Corporationjava.vm.version == 2.9java.vm.specification.name == Java Virtual Machine Specificationjava.vm.specification.vendor == Oracle Corporationjava.vm.specification.version == 1.8java.specification.name == Java Platform API Specificationjava.specification.vendor == Oracle Corporationjava.specification.version == 1.8java.vendor == IBM Corporationjava.vendor.url == http://www.ibm.comjava.class.version == 52.0java.library.path == /tmp/install.dir.7/Linux/resource/jre/lib/amd64/compressedrefs:/tmp/install.dir.7/Linux/resource/jre/lib/amd64:/usr/lib64:/usr/libjava.compiler == j9jit29java.home == /tmp/install.dir.7/Linux/resource/jrejava.io.tmpdir == /tmpos.name == Linuxos.arch == amd64os.version == 5.15.153.1-microsoft-standard-WSL2path.separator == :file.separator == /file.encoding == ANSI_X3.4-1968user.name == rootuser.home == /rootuser.dir == /tmp/install.dir.7user.language == enuser.region == null__________________________________________________________________________Loading externalized propertiesSystem's temporary directory = /tmp8. final log file name=/opt/IBM/Informix_Client-SDK/IBM_Informix_Client-SDK_Install_07_11_2024_07_59_16.loginstallUnixJRE: the source VM tar: /tmp/install.dir.7/Linux/resource/vm.tar exists = trueinstallUnixJRE: the source VMRoot: /tmp/install.dir.7/Linux/resource/jre exists = trueinstallUnixJRE: 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/jvminstallUnixJRE: install shell script:#!/bin/shecho "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 skippedPerformXSLT: transformation completed successfullyPerformXSLT: transformation completed successfullyRetrying Installables deferred in pass 0Deferral 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 REQUESTEDREGISTRY ALREADY STORED!Exiting with exit code: 18. final log file name=/opt/IBM/Informix_Client-SDK/IBM_Informix_Client-SDK_Install_07_11_2024_07_59_16.logcleanUp()calling cleanUpUNIX()
------------------------------
Aleksandrs Saiters
Original Message:
Sent: Tue July 09, 2024 04:30 AM
From: Javier Sagrera
Subject: CSDK installation on Docker linux container (.NET 8)
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
Original Message:
Sent: Thu July 04, 2024 04:23 AM
From: Aleksandrs Saiters
Subject: CSDK installation on Docker linux container (.NET 8)
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.0apt updateapt install curlmkdir /opt/tmp \ && curl /ibm.csdk/4.50.FC10.LNX/ibm.csdk.4.50.FC10.LNX.tar -o - | tar -xf - -C /opt/tmpapt 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
------------------------------