Building Domino C-API applications for RHEL/CentOS 8 - Lib dependency
Daniel Nashed – 16 January 2020 22: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
- Comments [3]
1Ben Langhinrichs 17.01.2020 19:25:03 Building Domino C-API applications for RHEL/CentOS 8 - Lib dependency
Thanks for documenting this. I'm sure it will save a bunch of time scratching my head and wondering what is wrong.
2Rene 22.01.2020 10:56:25 Building Domino C-API applications for RHEL/CentOS 8 - Lib dependency
Hi Daniel, I got some very sad news from HCL.
"Currently there is no C API Toolkit available for Domino v10.x and v11.x and there are no plans either.
sadly new versions of domino cannot be incorporated into C API."
So any new features in Domino v10 and newer will NOT be supported/available through C API Toolkit.
3Daniel Nashed 22.01.2020 14:52:30 Building Domino C-API applications for RHEL/CentOS 8 - Lib dependency
@Rene, there is no new C-API toolkit.
And yes there is no official statement about a new C-API toolkit. But there are discussions.
Which functionality what is new in Domino 10/11 are you missing in the C-API toolkit?
Do you have a list of features? Can you create a AHA idea and also post the link/number?
But you can continue to build applications with the Domino 9.0.1 C-API.
The compiler changed for Domino 10 to the GCC++ compile which ships with CentOS 7.4. That's the build platform HCL uses.
You can build applications that work with Domino 9, 10 and 11 using the C-API toolkit.
But you have to take care of the compiler. Applications compiled with the newer compiler, that ships with CentOS 7.4.
The C-API is still fully supported even there are no new C-API calls exposed and the plattform changed.
Having said that, there is currently no updated C-API available with new exposed functionality. I have a longer list of wishes what should be exposed.
Some of them made it into AHA. Specially the features around DAOS and also backup.
-- Daniel