I’m trying to generate .so file of Fesapi for custom client in C++ in Linux. I’ve successfully installed - HDF5 1.12, MINIZIP & Boost.
Now I’m facing below difficulties while configuring:
-
I’ve followed the steps given in GitHub - F2I-Consulting/fesapi: Allow access in reading and writing to Energistics standards data (mainly RESQML2.0, some of WITSML2.0 and PRODML2.1), but as per the steps there should be INCLUDE & LIB directory present in MINIZIP directory which I have to select while configuring from cmake. But I can’t find those two directories in MINIZIP after installation from GitHub - F2I-Consulting/Minizip: Copy of the minizip source code included in zlib 1.2.11 "contrib/minizip" folder.
Image source : site GitHub - F2I-Consulting/fesapi: Allow access in reading and writing to Energistics standards data (mainly RESQML2.0, some of WITSML2.0 and PRODML2.1)
-
I tried to give path of HDF5 - INCLUDE & LIB directory as mentioned in the steps for configure MINIZIP, but .so files are not generated in the build folder.
Is there any specific steps to be followed to get these things done?
Hi @Jeenal1612 and welcome,
- On Linux, it is better to directly install the package. For example on Ubuntu take a look at Ubuntu – Details of package libminizip-dev in hirsute
You can see in Ubuntu – File list of package libminizip-dev/hirsute/amd64 that include directory would be /usr/include/minizip and library would be /usr/lib/x86_64-linux-gnu/libminizip.a or /usr/lib/x86_64-linux-gnu/libminizip.so
If you want to build yourself minizip, please let me know (screenshot for example) where you did install minizip and the content of this install directory.
- You cannot provide HDF5 dev info instead of minizip dev info
Hi Philippe,
Thanks! I’m going ahead with your given direction.
I followed your step 1 mentioned and it worked for MINIZIP.
- Now I cannot find INCLUDE & LIB directories for ZLIB.
Image source : site GitHub - F2I-Consulting/fesapi: Allow access in reading and writing to Energistics standards data (mainly RESQML2.0, some of WITSML2.0 and PRODML2.1)
Is there any source to directly install this package too?
- Also I’m not selecting any path for SZIP since I’m not using it for HDF5. Will that work?
Hi Jeenal,
- It all depends on how and where you have installed you zlib files.
If you have installed them by means of ubunty packages, I guess the solution is on this page : Ubuntu – File list of package zlib1g-dev/hirsute/amd64 : include are in /usr/include, libs are /usr/lib/x86_64-linux-gnu/libz.a or /usr/lib/x86_64-linux-gnu/libz.so
You can also see how I build my FESAPI in Ubuntu 20.04 looking at fesapi/azure-pipelines.yml at master · F2I-Consulting/fesapi · GitHub from line 271
- Yes it should work if there is no dependency at all on SZIP
Hi Philippe,
Thanks for your continuous support!
I’ve selected path as shown in below image.
Configuring done.
Generating done.
After that there should be .so file generated in build/lib (path given by me shown in image) directory. It is generating lot of other files & folders but not any .so file.
Please let know if any above mentioned step is wrong & should be corrected.
CMake does not generate so file. It generates files which can then generate binaries. One explanation among others : makefile - Understanding roles of CMake, make and GCC - Stack Overflow
I advise you first to look at the documentation of how CMake works.
Hi Philippe,
Thanks for your support till now and sorry for the inconvenience.
Somehow I was in a wrong direction. I’ve gone through the functionalities of cmake provided by you.
Now my main task is to generate .so file for Fesapi.
Can you please suggest how to generate it for Fesapi?
Following the documentation should be almost OK (most of adopters did that way) but the documentation assumes the developer has understanding about how cmake and C++ build work.
My suggestion is to be fully ready with CMake and C++ build (and even swig if you plan to build wrappers as well). Or to contract support for these skills.