Hello,
I am trying to install ChemmineOB on a red hat enterprise box. I have compiled open babel from source and it is working on the command line. I go to install ChemmineOB using Biocmanager and I get an error that the header files cannot be found. After consulting the read_me, I concluded that it must be that ChemmineOB cannot find the open babel files. So I set out to specify the correct paths using:
R CMD INSTALL --configure-args='--with-openbabel-include=/opt/software/openbabel-openbabel-2-4-0/include/ --with-openbabel-include=/opt/software/openbabel-openbabel-2-4-0/include/ --with-openbabel-lib=/opt/software/openbabel-openbabel-2-4-0/build/lib/' ChemmineOB_1.20.0.tar.gz
The openbabel-openbabel-2-4-0/include/ directory contains many different *.h files. When I run this command, I no longer get the error that openbabel/generic.h cannot be found, which makes sense since I can see the generic.h folder in this directory. Instead, a new error pops up: babelconfig.h cannot be found. Unfortunately this babelconfig.h file is in a different (although closely named) directory: openbabel-openbabel-2-4-0/build/include/. (notice it is part of the build directory). So I then change the command appropriately:
R CMD INSTALL --configure-args='--with-openbabel-include=/opt/software/openbabel-openbabel-2-4-0/include/ --with-openbabel-include=/opt/software/openbabel-openbabel-2-4-0/build/include/ --with-openbabel-lib=/opt/software/openbabel-openbabel-2-4-0/build/lib/' ChemmineOB_1.20.0.tar.gz
Now it doesn't find the generic.h file! Anyone have any advice on this??
I see your giving paths to the build directory. Did you run the "install" step (make install)? That should create the directory "< install root>/include/openbabel-2.0/openbabel", which will contain both the babelconfig.h and generic.h files.
If you don't want to install it system wide, you can set an install directory like:
cmake .. -DCMAKEINSTALLPREFIX=< install dir>
Alternatively, you can just copy the babelconfig.h file into the source include file and then only specify that one include directory. This is less desirable since your taking a built file, babelconfig.h, and putting into the source tree. But if its just for you own use, its no big deal.