Closed wquc closed 4 years ago
Boost_NO_BOOST_CMAKE should be okay. That error looks like an incompatibility between your gcc version and your boost version. CMake must be recent (e.g. 3.12.4). Otherwise, we are using the default versions from Ubuntu 18.04: gcc 7.5.0 boost 1.65 python 3.6.9 CUDA 10.2 (anything >=9 should work)
Thank you. I decided to use Ubuntu in docker and try to reproduce the same setup as much as possible. But when I was trying to cmake
gnina, the following error was given:
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- The CUDA compiler identification is NVIDIA 10.2.89
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working CUDA compiler: /usr/local/cuda-10.2/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda-10.2/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda-10.2 (found suitable version "10.2", minimum required is "9.0")
-- Found libmolgrid include files at /usr/local/include
-- Found libmolgrid library at /usr/local/lib/libmolgrid.so
-- Found libmolgrid: /usr/local/include
CMake Error at CMakeLists.txt:42 (find_package):
Found package configuration file:
/usr/local/lib/cmake/openbabel3/OpenBabel3Config.cmake
but it set OpenBabel3_FOUND to FALSE so package "OpenBabel3" is considered
to be NOT FOUND. Reason given by package:
The following imported targets are referenced, but are missing: maeparser
coordgen
-- Configuring incomplete, errors occurred!
See also "/root/pkgs/gnina-master/build/CMakeFiles/CMakeOutput.log".
See also "/root/pkgs/gnina-master/build/CMakeFiles/CMakeError.log".
However, I already have Openbabel installed:
root@a10f8226d816:~/pkgs/gnina-master/build# obabel
No input file or format spec or possibly a misplaced option.
Most options must come after the input files. (-i -o -O -m can be anywhwere.)
Open Babel 3.0.0 -- May 8 2020 -- 19:37:54
Usage:
obabel [-i<input-type>] <infilename> [-o<output-type>] -O<outfilename> [Options]
Try -H option for more information.
root@a10f8226d816:~/pkgs/gnina-master/build#
root@a10f8226d816:~/pkgs/gnina-master/build# which obabel
/usr/local/bin/obabel
How to tell gnina the location of openbabel?
You can specify the location to the OpenBabel3 cmake file with this cmake option, although it is a bit surprising it wasn't installed in the standard place when you installed OB3:
-DOpenBabel3_DIR=/net/pulsar/home/koes/dkoes/local/lib/cmake/openbabel3
Thank you. But the error still exists:
root@a10f8226d816:~/pkgs/gnina-master/build# cmake -DOpenBabel3_DIR=/usr/local/lib/cmake/openbabel3 ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- The CUDA compiler identification is NVIDIA 10.2.89
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working CUDA compiler: /usr/local/cuda-10.2/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda-10.2/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda-10.2 (found suitable version "10.2", minimum required is "9.0")
-- Found libmolgrid include files at /usr/local/include
-- Found libmolgrid library at /usr/local/lib/libmolgrid.so
-- Found libmolgrid: /usr/local/include
CMake Error at CMakeLists.txt:45 (find_package):
Found package configuration file:
/usr/local/lib/cmake/openbabel3/OpenBabel3Config.cmake
but it set OpenBabel3_FOUND to FALSE so package "OpenBabel3" is considered
to be NOT FOUND. Reason given by package:
The following imported targets are referenced, but are missing: maeparser
coordgen
-- Configuring incomplete, errors occurred!
See also "/root/pkgs/gnina-master/build/CMakeFiles/CMakeOutput.log".
See also "/root/pkgs/gnina-master/build/CMakeFiles/CMakeError.log".
root@a10f8226d816:~/pkgs/gnina-master/build#
root@a10f8226d816:~/pkgs/gnina-master/build#
root@a10f8226d816:~/pkgs/gnina-master/build#
root@a10f8226d816:~/pkgs/gnina-master/build# ls /usr/local/lib/cmake/openbabel3
OpenBabel3Config.cmake OpenBabel3ConfigVersion.cmake OpenBabel3_EXPORTS.cmake OpenBabel3_EXPORTS-release.cmake
Did I specify the correct directory?
Sorry, I didn't read your original error message carefully enough. It is looking for maeparser and coordgen. Probably the easiest thing to do is remove all references to these libraries from the files in /usr/local/lib/cmake/openbabel3/
. They aren't important dependencies. I suspect this is related to this issue:
https://github.com/openbabel/openbabel/issues/2197
Alternatively, you can configure and build openbabel with -DWITH_MAEPARSER=NO -DWITH_COORDGEN=NO
which will remove the references from the cmake files for you.
If for some reason you need support for these formats, you'll need to figure out why the libraries aren't being found by cmake.
Thank you for the help. It worked and I can finish the installation of gnina. Moreover, I also noticed there was already a gnina container on Docker Hub, which could save so much time if I know this in the first place. So I think it's a good idea to notify future users by adding that link to README(s).
Working platform:
Below is the output when I just
cmake
in thebuild
directory.I believe Boost was properly installed since the following files are found in my
/usr/local/lib
:After some research, I added
set(Boost_NO_BOOST_CMAKE true)
toCMakeLists.txt
(everything else is untouched) to make it go through:So I assume I can continue with the compilation. However, when I run
make
command, the following error was given:So I was wondering:
set(Boost_NO_BOOST_CMAKE true)
toCMakeLists.txt
the correct way to make it work?/usr/local/include/boost/core/noncopyable.hpp(42): error
?