Hi team,
When installing a brand new control-M server on your machine,you may encounter issues related to Control-M installation prerequisite.
That was my case on my Virtual machine,we will see how to fix it quickly.
System configuration:
Issue encountered during installation:
machine:
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
CentOS Linux 8 64bits
=============================== === Control-M 9.0.20.000 Installation === === Installation === [ Starting to unpack ] [ Processing package: Control-M/Server files ] [ Processing package: Control-M/Agent files ] [ Processing package: Copying Control-M/Server OneJRE files ] [ Processing package: Copying Control-M/Server OneJRE (V1) files ] [ Processing package: Extracting kafka, Perl, Python Packages ] [ Processing package: After files extract ] [ Processing package: Configure PostgreSQL Server ] \ Error in Control-M 9.0.20.000 Installation The following error occurred: Failed to execute "PostgreSQL server build": /home/controlm/bmcperl/bmcperl_V1/bin/perl: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory == <R> Retry <Enter> Rollback ==
The problem is related to library loading libnsl.so.1, I tried to found it on my machine (with a find command), all was ok , the library seems to be here.
Then when retrying to install, still encountering this issue after many attempts, so I made an update of the library:
[root@localhost ~]# yum install libnsl.so.1 Dernière vérification de l’expiration des métadonnées effectuée il y a 0:11:27 le mer 31 mar 2021 18:22:14 EDT. Dépendances résolues. =========================================================================================================================================================================================================== Paquet Architecture Version Dépôt Taille =========================================================================================================================================================================================================== Installing: libnsl i686 2.28-127.el8 BaseOS 103 k Installation des dépendances: glibc i686 2.28-127.el8 BaseOS 3.4 M Résumé de la transaction =========================================================================================================================================================================================================== Installer 2 Paquets Taille totale des téléchargements : 3.5 M Taille des paquets installés : 13 M Voulez-vous continuer ? [o/N] : o Téléchargement des paquets : (1/2): libnsl-2.28-127.el8.i686.rpm 86 kB/s | 103 kB 00:01 (2/2): glibc-2.28-127.el8.i686.rpm 1.8 MB/s | 3.4 MB 00:01 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.2 MB/s | 3.5 MB 00:02 Test de la transaction en cours La vérification de la transaction a réussi. Lancement de la transaction de test Transaction de test réussie. Exécution de la transaction Préparation en cours : 1/1 Exécution du scriptlet: glibc-2.28-127.el8.i686 1/2 Installing : glibc-2.28-127.el8.i686 1/2 Exécution du scriptlet: glibc-2.28-127.el8.i686 1/2 Installing : libnsl-2.28-127.el8.i686 2/2 Exécution du scriptlet: libnsl-2.28-127.el8.i686 2/2 Vérification de : glibc-2.28-127.el8.i686 1/2 Vérification de : libnsl-2.28-127.el8.i686 2/2 Installé: libnsl-2.28-127.el8.i686 glibc-2.28-127.el8.i686 Terminé ! [root@localhost ~]#
After this, still issue remaining with same message ( we can retrieve it under Control-M logs /BMCINSTALL/log/)
I tried to update libraries and get some conflicts between them:
[SKIPPED] glibc-locale-source-2.28-127.el8.x86_64.rpm: Already downloaded [SKIPPED] glibc-minimal-langpack-2.28-127.el8.x86_64.rpm: Already downloaded [SKIPPED] libnsl-2.28-127.el8.i686.rpm: Already downloaded ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 6.8 GB/s | 124 MB 00:00 Test de la transaction La vérification de la transaction a réussi. Lancement de la transaction de test Les paquets téléchargés ont été mis en cache jusqu’à la prochaine transaction réussie. Vous pouvez supprimer les paquets en cache en exécutant « yum clean packages ». Erreur : Erreur de la transaction de test : le fichier /lib/ld-2.28.so de l'installation de glibc-2.28-127.el8.i686 entre en conflit avec le fichier du paquet glibc32-2.28-42.1.el8.x86_64 le fichier /lib/libanl-2.28.so de l'installation de glibc-2.28-127.el8.i686 entre en conflit avec le fichier du paquet glibc32-2.28-42.1.el8.x86_64 le fichier /lib/libdl-2.28.so de l'installation de glibc-2.28-127.el8.i686 entre en conflit avec le fichier du paquet glibc32-2.28-42.1.el8.x86_64 ... le fichier /lib/libc-2.28.so de l'installation de glibc-2.28-127.el8.i686 entre en conflit avec le fichier du paquet glibc32-2.28-42.1.el8.x86_64
Seems that i686 and x86_64 are in conflict,that gives us a clue.
Check library related to bmcperl path
We will check if missing library is displaying under /home/controlm/bmcperl/bmcperl_V1/bin/perl ( as request in issue log)
[root@CTM920 ~]# ldd /home/controlm/bmcperl/bmcperl_V1/bin/perl linux-vdso.so.1 (0x00007ffc5b1fa000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5aacf43000) libnsl.so.1 => not found libdl.so.2 => /lib64/libdl.so.2 (0x00007f5aacd3f000) libm.so.6 => /lib64/libm.so.6 (0x00007f5aac9bd000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f5aac794000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f5aac590000) libc.so.6 => /lib64/libc.so.6 (0x00007f5aac1cd000) /lib64/ld-linux-x86-64.so.2 (0x00007f5aad163000)
When performing ldd command to check libraries we see that libnsl.so.1 is not found.
Installing libnsl.so.1 for 64 bits
Next step is to install ibnsl.so.1 for 64 bits and restart the installation
[root@CTM920 ~]# yum install libnsl.so.1*64* Dernière vérification de l’expiration des métadonnées effectuée il y a 0:07:01 le jeu 01 avr 2021 04:36:11 EDT. Dépendances résolues. =========================================================================================================================================================================================================== Paquet Architecture Version Dépôt Taille =========================================================================================================================================================================================================== Installing: libnsl x86_64 2.28-127.el8 BaseOS 99 k Résumé de la transaction =========================================================================================================================================================================================================== Installer 1 Paquet Taille totale des téléchargements : 99 k Taille des paquets installés : 160 k Voulez-vous continuer ? [o/N] : o Téléchargement des paquets : libnsl-2.28-127.el8.x86_64.rpm 80 kB/s | 99 kB 00:01 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 40 kB/s | 99 kB 00:02 Test de la transaction en cours La vérification de la transaction a réussi. Lancement de la transaction de test Transaction de test réussie. Exécution de la transaction Préparation en cours : 1/1 Installing : libnsl-2.28-127.el8.x86_64 1/1 Exécution du scriptlet: libnsl-2.28-127.el8.x86_64 1/1 Vérification de : libnsl-2.28-127.el8.x86_64 1/1 Installé: libnsl-2.28-127.el8.x86_64
checking if library is found
[root@CTM920 ~]# ldd /home/controlm/bmcperl/bmcperl_V1/bin/perl linux-vdso.so.1 (0x00007fff36dfa000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9936818000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f99365ff000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f99363fb000) libm.so.6 => /lib64/libm.so.6 (0x00007f9936079000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9935e50000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f9935c4c000) libc.so.6 => /lib64/libc.so.6 (0x00007f9935889000) /lib64/ld-linux-x86-64.so.2 (0x00007f9936a38000) [root@CTM920 ~]#
Conclusion
Now library is found we can restart the application and it will be completed successfully
thanks a lot to Dave Armin from BMC for his advice ;),that was clear it was a library issue but tried many actions to fix it,before finding out x64 library was not here ( the problem was it updated only x86 libraries if you miss to add *64 in your yum install/update command),so be careful about architecture and library conflict ( x86 and 64 ),once 64 library is installed/updated it worked.
Hope it will be helpful as it was for me!
Cet article Control-M/EM : libnsl.so.1: cannot open shared object file: No such file or directory est apparu en premier sur Blog dbi services.