I'm trying to incorporate an out of tree IMP module called bayesianem.
What I thought should be possible is to install the IMP Ubuntu 18.04 binary package, build bayesianem from source, and add it, but am running in to some problems.
According to the IMP documentation (https://integrativemodeling.org/2.11.1/doc/manual/uselibrary.html), "When IMP is built or installed, it creates a CMake file called IMPConfig.cmake which contains information about how IMP was configured and where all the parts of IMP can be found."
Unfortunately I could not find such a file anywhere on the system, but the bayesianem cmake script is clearly looking for it. Excerpted from bayesianem's source dir CMakeLists.txt:
find_package(IMP REQUIRED) include(${IMP_USE_FILE})
and if I try and do the build I get: -------------------------------- By not providing "FindIMP.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "IMP", but CMake did not find one.
Could not find a package configuration file provided by "IMP" with any of the following names:
IMPConfig.cmake imp-config.cmake --------------------------------
I also cloned the IMP git repo, but couldn't find anything there, either. The "Building modules out of tree" page (https://integrativemodeling.org/2.11.1/doc/manual/outoftree.html) talks about a FindIMP.cmake file, but I couldn't find this anywhere either.
Presumably I am doing something wrong. Can someone give me some pointers? The bayesianem git repo (https://gitlab.pasteur.fr/rpellari/bayesianem) is pretty sparse on documentation.
Thanks.
On 10/30/19 11:31 AM, Patrick Goetz wrote: > "When IMP is built or installed, it creates a CMake file called > IMPConfig.cmake which contains information about how IMP was configured > and where all the parts of IMP can be found." > > Unfortunately I could not find such a file anywhere on the system, but > the bayesianem cmake script is clearly looking for it.
Yes, unfortunately it seems the CMake config is missing from the Ubuntu packages, sorry. You are probably the first person to have tried to use bayesianem in this manner (IMP only got the ability to build out of tree in the last release, and I only added support for it to bayesianem a week or two ago).
We'll correct this in the next release: https://github.com/salilab/imp/issues/1025
> I also cloned the IMP git repo, but couldn't find anything there, > either.
You could build IMP from source code using that git repo (although it will take a while). As part of the build it will generate IMPConfig.cmake. But if you go down that route, you may as well just clone bayesianem under your IMP modules directory, and it will get built at the same time as the rest of IMP.
Another option is to use Anaconda. I built a bayesianem conda package just last week (https://anaconda.org/salilab/imp-bayesianem) so "conda install -c salilab imp-bayesianem" should get you latest IMP plus bayesianem.
Ben
On 10/30/19 2:56 PM, Ben Webb wrote: > On 10/30/19 11:31 AM, Patrick Goetz wrote: >> "When IMP is built or installed, it creates a CMake file called >> IMPConfig.cmake which contains information about how IMP was >> configured and where all the parts of IMP can be found." >> >> Unfortunately I could not find such a file anywhere on the system, but >> the bayesianem cmake script is clearly looking for it. > > Yes, unfortunately it seems the CMake config is missing from the Ubuntu > packages, sorry. You are probably the first person to have tried to use > bayesianem in this manner (IMP only got the ability to build out of tree > in the last release, and I only added support for it to bayesianem a > week or two ago). > > We'll correct this in the next release: > https://github.com/salilab/imp/issues/1025
Should all work with the Ubuntu packages now using a recent IMP nightly build and the latest bayesianem. For example on a 16.04 system using the imp and imp-dev packages from https://integrativemodeling.org/nightly/download/xenial/:
% git clone https://gitlab.pasteur.fr/rpellari/bayesianem.git % cd bayesianem/ % mkdir build % cd build % cmake .. -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PYTHONDIR=/usr/lib/python2.7/dist-packages \ -DCMAKE_INSTALL_PREFIX=/usr -DUSE_PYTHON2=on \ -DIMP_DIR=/usr/lib/x86_64-linux-gnu/cmake/IMP/ % make -j4 % sudo make install
This will install IMP.bayesianem systemwide in the same location as IMP, and for Python 2.
Ben
participants (2)
-
Ben Webb
-
Patrick Goetz