PDB-REDO / dssp

Application to assign secondary structure to proteins
BSD 2-Clause "Simplified" License
166 stars 19 forks source link

setting cifpp_DIR #56

Closed daen0435 closed 1 year ago

daen0435 commented 1 year ago

Running into an issue when trying to setup DSSP. I'm running Ubuntu 20.04. I installed libcifpp, libmcfp, and mrc to root (I had to force the build of libcifpp with the sudo command). The issue occurs when trying to build DSSP proper.

git clone https://github.com/PDB-REDO/dssp.git cd dssp mkdir build cd build cmake .. < this is where I run into this error

"CMake Error at CMakeLists.txt:107 (find_package): By not providing "Findcifpp.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "cifpp", but CMake did not find one.

Could not find a package configuration file provided by "cifpp" (requested version 5.0.8) with any of the following names:

cifppConfig.cmake
cifpp-config.cmake

Add the installation prefix of "cifpp" to CMAKE_PREFIX_PATH or set "cifpp_DIR" to a directory containing one of the above files. If "cifpp" provides a separate development package or SDK, be sure it has been installed."

After doing some hunting, the config file is located here ~/.local/lib/cmake/cifpp/cifppConfig.cmake

For reference, the other libraries are as follows

~/.local/libcifpp ~/.local/libmcfp ~/.local/dssp

I uninstalled and reinstalled everything using the sudo command - so I don't think it's a permissions issue sending the config file to the wrong place.

The error message mentions 'set "cifpp_DIR" to a directory containing one of the above files' -can I fix this by simply defining the directory that contains the config file, or is there something bigger wrong here? -where would I look to define the cifpp_DIR?

Any help would be greatly appreciated.

mhekkel commented 1 year ago

~/.local/libcifpp

That's curious. As well as the fact you needed to use sudo.

Normally, in libcifpp (and libmcfp) you would use:

cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$HOME/.local -DCMAKE_BUILD_TYPE=Release

That way, the libraries end up in the .local directory in your home. And this should not require root permissions.

Now, if you need to tell cmake where to find this. There are several ways to do this. One is e.g. to add $HOME/.local/bin to your PATH. Another is specifying the prefix path as in (for dssp):

cmake -S . -B build -DCMAKE_PREFIX_PATH=$HOME/.local -DCMAKE_BUILD_TYPE=Release

BTW, if the version of dssp is not of importance, you might as well have typed:

apt-get install dssp

On Ubuntu 20.04 you will get version 3, on 22.04 you will get 4.0.4.

daen0435 commented 1 year ago

Adding the directory to my path fixed the issue. Thank you!