Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

Building Domino C-API applications for RHEL/CentOS 8 - Lib dependency

Daniel Nashed  16 January 2020 23:35:17


Now that Domino 11 officially supports RHEL/CentOS 8.x I am testing my applications.

I ran into a changed lib version for Domino C-API applications which compile and link with makefiles derived from the examples shipped with the SDK.
Those examples use the lib "-lnsl".

RHEL/CentOS 8 changed libnsl.so to a new version (libnsl.so.1 --> libnsl.so.2).

The lib is usually not needed for most applications unless you are using cetain TCP/IP operations as far I found out.

The error you see, when starting the application is the following:


/opt/hcl/domino/notes/latest/linux/nshtest: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory


So when building your applications you can usually remove the dependency.
Domino itself doesn't have the dependency.

Just to remind you: The support build environment for Domino 10 and Domino 11 on Linux is still CentOS 7.4 with the gcc/gcc++ compiler shipped with that version!

This is a about the run-time environment and the changed lib dependencies. And again, this is only for specific add-on applications.
I added the exact error message to let Google to pick it up...

Here is the original link line form the examples:

# set LIBS to list all the libraries ld should link with.

LIBS = -lnotes -lm
-lnsl -lc -ldl -lpthread -lresolv

Here are the libs installed by default:

RHEL 7

/usr/lib64/libnsl.so.1
/usr/lib64/libnsl.so

RHEL 8

/usr/lib64/libnsl.so.2
/usr/lib64/libnsl.so.2.0.0

Archives


  • [IBM Lotus Domino]
  • [Domino on Linux]
  • [Nash!Com]
  • [Daniel Nashed]