Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem building the extension #16

Open
xavgit opened this issue Nov 17, 2024 · 4 comments
Open

Problem building the extension #16

xavgit opened this issue Nov 17, 2024 · 4 comments

Comments

@xavgit
Copy link

xavgit commented Nov 17, 2024

Hi,
I need to use this extension in order to use rt_process_vs of ringtail
installed via pip3.
When using rt_process_vs I receive:
rt_process_vs.py write --file_path /home/xxxx/sources/Ringtail-release_2.1.0/test/test_data/adgpu --recursive --output_db ringtail_test_AD4GPU
Failed to load chemicalite cartridge. Please ensure chemicalite is installed with conda install -c conda-forge chemicalite.
ERROR: Error while establishing database connection

I cannot use conda install -c conda-forge chemicalite because I've used pip3 to install ringtail.
I have the same problem of a closed issue when make return the error:
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master$ make
[ 3%] Building CXX object CMakeFiles/chemicalite.dir/mol.o
/home/xxxx/sources/chemicalite-master/src/mol.cpp:6:10: fatal error: GraphMol/MolPickler.h: No such file or directory
6 | #include <GraphMol/MolPickler.h>
| ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated. make[2]: *** [CMakeFiles/chemicalite.dir/build.make:104: CMakeFiles/chemicalite.dir/mol.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/chemicalite.dir/all] Error 2 make: *** [Makefile:136: all] Error 2

Using apt-file I have the following regarding the missing header file:
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master$ apt-file search MolPickler.h
librdkit-dev: /usr/include/rdkit/GraphMol/MolPickler.h rdkit-doc: /usr/share/doc/rdkit/html/cppapi/classRDKit_1_1MolPickler.html

Therefore the header file there exists in the file system.

Using the suggestion to call make with verbose output I have the following:

xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master$ make VERBOSE=1
/usr/local/bin/cmake -S/home/xxxx/sources/chemicalite-master/src -B/home/xxxx/sources/chemicalite-master --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /home/xxxx/sources/chemicalite-master/CMakeFiles /home/xxxx/sources/chemicalite-master//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/xxxx/sources/chemicalite-master' make -f CMakeFiles/chemicalite.dir/build.make CMakeFiles/chemicalite.dir/depend
make[2]: Entering directory '/home/xxxx/sources/chemicalite-master' cd /home/xxxx/sources/chemicalite-master && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/xxxx/sources/chemicalite-master/src /home/xxxx/sources/chemicalite-master/src /home/xxxx/sources/chemicalite-master /home/xxxx/sources/chemicalite-master /home/xxxx/sources/chemicalite-master/CMakeFiles/chemicalite.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/xxxx/sources/chemicalite-master'
make -f CMakeFiles/chemicalite.dir/build.make CMakeFiles/chemicalite.dir/build
make[2]: Entering directory '/home/xxxx/sources/chemicalite-master'
[ 3%] Building CXX object CMakeFiles/chemicalite.dir/mol.o
/usr/bin/c++ -Dchemicalite_EXPORTS -fPIC -MD -MT CMakeFiles/chemicalite.dir/mol.o -MF CMakeFiles/chemicalite.dir/mol.o.d -o CMakeFiles/chemicalite.dir/mol.o -c /home/xxxx/sources/chemicalite-master/src/mol.cpp
/home/xxxx/sources/chemicalite-master/src/mol.cpp:6:10: fatal error: GraphMol/MolPickler.h: No such file or directory
6 | #include <GraphMol/MolPickler.h>
| ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/chemicalite.dir/build.make:104: CMakeFiles/chemicalite.dir/mol.o] Error 1
make[2]: Leaving directory '/home/xxxx/sources/chemicalite-master'
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/chemicalite.dir/all] Error 2
make[1]: Leaving directory '/home/xxxx/sources/chemicalite-master'
make: *** [Makefile:136: all] Error

Any suggestion to fix this problem?

Thanks.

Saverio

@xavgit xavgit changed the title Problem buidind the extension Problem buiding the extension Nov 17, 2024
@xavgit xavgit changed the title Problem buiding the extension Problem building the extension Nov 17, 2024
@rvianello
Copy link
Owner

My first suggestion to help avoiding unnecessary troubleshooting would be to follow the ringtail installation instructions and install its dependencies in a conda environment.

If following the documentation is not an option, providing some additional details about the custom build may usually help (e.g. operating system and which version of RDKit is installed on it).

From the output you shared it looks like the compiler command line could be missing some options instructing it about where to look for the RDKit header files. Could you please also share the exact command line you used to run cmake and the contents of the cmake cache file from your chemicalite build directory?

@xavgit
Copy link
Author

xavgit commented Nov 19, 2024

Hi,
thanks for your interest in fixing my problem.
I use Ubuntu 22.04.
I've repeated the installation steps starting from
/home/xxxx/sources/chemicalite-master
Then
mkdir build && cd build
cmake ..
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master/build$ cmake ..
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found SQLite3: /usr/include (found version "3.37.2")
CMake Warning (dev) at CMakeLists.txt:23 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.58.0") found components: system serialization iostreams
CMake Error at CMakeLists.txt:25 (find_package):
By not providing "FindRDKit.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "RDKit", but
CMake did not find one.

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

RDKitConfig.cmake
rdkit-config.cmake

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

-- Configuring incomplete, errors occurred!

xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master/build$ dpkg --get-selections | grep rdkit
librdkit-dev install
librdkit1 install
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master/build$ apt-cache show librdkit-dev
Package: librdkit-dev
Architecture: amd64
Version: 202109.2-1build1
Priority: optional
Section: universe/libdevel
Source: rdkit
Origin: Ubuntu
Maintainer: Ubuntu Developers [email protected]
Original-Maintainer: Debichem Team [email protected]
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 2142
Depends: librdkit1 (= 202109.2-1build1)
Filename: pool/universe/r/rdkit/librdkit-dev_202109.2-1build1_amd64.deb
Size: 280524
MD5sum: 55c75ef376e3d34f90b0c26813de1e3e
SHA1: 0d868f5d1548ebd173b4f9a8b424a90be93577ac
SHA256: 9e0c3fda09e3612b2fd80c10c99d8bd96ba2f0eac88cc72638d564663a66c4de
SHA512: aae0f77427425b703608c3ab7a6705667ea4ef701e7911139cb57138e7d6b783be1addbee8362bc5928d90f8a236539bc8a9ef6a6a3e8ab9dc781b12779806cf
Homepage: http://www.rdkit.org
Description-en: Collection of cheminformatics and machine-learning software (development files)
RDKit is a Python/C++ based cheminformatics and machine-learning software
environment. Features Include:
.

  • Chemical reaction handling and transforms
  • Substructure searching with SMARTS
  • Canonical SMILES
  • Molecule-molecule alignment
  • Large number of molecular descriptors, including topological,
    compositional, EState, SlogP/SMR, VSA and Feature-map vectors
  • Fragmentation using RECAP rules
  • 2D coordinate generation and depiction, including constrained depiction
  • 3D coordinate generation using geometry embedding
  • UFF and MMFF94 forcefields
  • Chirality support, including calculation of (R/S) stereochemistry codes
  • 2D pharmacophore searching
  • Fingerprinting, including Daylight-like, atom pairs, topological
    torsions, Morgan algorithm and MACCS keys
  • Calculation of shape similarity
  • Multi-molecule maximum common substructure
  • Machine-learning via clustering and information theory algorithms
  • Gasteiger-Marsili partial charge calculation
    .
    File formats RDKit supports include MDL Mol, PDB, SDF, TDT, SMILES and RDKit
    binary format.
    .
    This package contains the header files.
    Description-md5: cadf4e2d9818548292d31eade9e00bca

In the readsthedocs there is:
Configure and build
The supported build system uses cmake, and it requires RDKit 2020.09.1 or later.
but cmake outputs:
Could not find a package configuration file provided by "RDKit" (requested
version 2023.09.1) with any of the following names:

Any suggestions?

Thanks.

Saverio

@xavgit
Copy link
Author

xavgit commented Nov 19, 2024

Hi,
thanks for your interest in fixing my problem.
I use Ubuntu 22.04.
Then I have installed RDKit latest version in my home
I've repeated the installation steps starting from
/home/xxxx/sources/chemicalite-master
Then
mkdir build && cd build
cmake ..
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master/build$ cmake -DCMAKE_PREFIX_PATH=/home/xxxx/RDKit_2024_09_2/ ..
CMake Warning (dev) at CMakeLists.txt:23 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.58.0") found components: system serialization iostreams
CMake Warning (dev) at /usr/local/share/cmake-3.31/Modules/CMakeFindDependencyMacro.cmake:76 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

Call Stack (most recent call first):
/home/xxxx/RDKit_2024_09_2/lib/cmake/rdkit/rdkit-config.cmake:35 (find_dependency)
CMakeLists.txt:25 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.74.0")
CMake Error at src/tests/CMakeLists.txt:1 (find_package):
By not providing "FindCatch2.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Catch2", but
CMake did not find one.

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

Catch2Config.cmake
catch2-config.cmake

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

-- Configuring incomplete, errors occurred!

I have downloaded the latest version of Catch2 3.7.1 .
Any suggestions about how to install Catch2 version 3.7.1 ?

Thanks.

Saverio

@xavgit
Copy link
Author

xavgit commented Nov 19, 2024

HI,
I have not used the tests.
Therefore:
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master/build$ cmake -DCMAKE_PREFIX_PATH=/home/xxxx/RDKit_2024_09_2/ -DCHEMICALITE_ENABLE_TESTS=OFF ..
CMake Warning (dev) at CMakeLists.txt:23 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.58.0") found components: system serialization iostreams
CMake Warning (dev) at /usr/local/share/cmake-3.31/Modules/CMakeFindDependencyMacro.cmake:76 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

Call Stack (most recent call first):
/home/xxxx/RDKit_2024_09_2/lib/cmake/rdkit/rdkit-config.cmake:35 (find_dependency)
CMakeLists.txt:25 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.74.0")
-- Configuring done (0.0s)
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:

CMAKE_PREFIX_PATH

-- Build files have been written to: /home/xxxx/sources/chemicalite-master/build
xxxx@xxxx-Predator-PHN16-71:/sources/chemicalite-master/build$ make
[100%] Built target chemicalite
xxxx@xxxx-Predator-PHN16-71:
/sources/chemicalite-master/build$ make clean
xxxx@xxxx-Predator-PHN16-71:~/sources/chemicalite-master/build$ make
[ 3%] Building CXX object src/CMakeFiles/chemicalite.dir/settings.cpp.o
[ 6%] Building CXX object src/CMakeFiles/chemicalite.dir/logging.cpp.o
[ 9%] Building CXX object src/CMakeFiles/chemicalite.dir/mol.cpp.o
[ 12%] Building CXX object src/CMakeFiles/chemicalite.dir/bfp.cpp.o
[ 16%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_fmcs.cpp.o
[ 19%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_formats.cpp.o
[ 22%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_chemtransforms.cpp.o
[ 25%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_compare.cpp.o
[ 29%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_descriptors.cpp.o
[ 32%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_hash.cpp.o
[ 35%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_props.cpp.o
[ 38%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_standardize.cpp.o
[ 41%] Building CXX object src/CMakeFiles/chemicalite.dir/mol_to_bfp.cpp.o
[ 45%] Building CXX object src/CMakeFiles/chemicalite.dir/bfp_ops.cpp.o
[ 48%] Building CXX object src/CMakeFiles/chemicalite.dir/bfp_compare.cpp.o
[ 51%] Building CXX object src/CMakeFiles/chemicalite.dir/bfp_descriptors.cpp.o
[ 54%] Building CXX object src/CMakeFiles/chemicalite.dir/periodic_table.cpp.o
[ 58%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree.cpp.o
[ 61%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_vtab.cpp.o
[ 64%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_node.cpp.o
[ 67%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_item.cpp.o
[ 70%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_strategy.cpp.o
[ 74%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_constraint.cpp.o
[ 77%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_constraint_subset.cpp.o
[ 80%] Building CXX object src/CMakeFiles/chemicalite.dir/rdtree_constraint_tanimoto.cpp.o
[ 83%] Building CXX object src/CMakeFiles/chemicalite.dir/file_io.cpp.o
[ 87%] Building CXX object src/CMakeFiles/chemicalite.dir/sdf_io.cpp.o
[ 90%] Building CXX object src/CMakeFiles/chemicalite.dir/smi_io.cpp.o
[ 93%] Building CXX object src/CMakeFiles/chemicalite.dir/versions.cpp.o
[ 96%] Building CXX object src/CMakeFiles/chemicalite.dir/chemicalite.cpp.o
[100%] Linking CXX shared module chemicalite.so
[100%] Built target chemicalite

It seems that the building step ends fine.
Right?

Thanks.

Saverio

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants