From 79d14332b9a9ae1415c098f686c76b6726b8b9ac Mon Sep 17 00:00:00 2001 From: Greg Landrum Date: Thu, 5 Feb 2009 19:43:24 +0000 Subject: [PATCH] update --- INSTALL | 49 +++++++++++++++++++++++++----------------------- ReleaseNotes.txt | 11 +++++++++++ 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/INSTALL b/INSTALL index f08d95744..921183202 100644 --- a/INSTALL +++ b/INSTALL @@ -1,21 +1,23 @@ -The instructions below are for source distributions from Q3 2008 on. +The instructions below are for source distributions from Q1 2009 on. = Building on Linux = == Getting Ready == * Required packages: - ** The python headers. This probably means that you need to install the python-dev package (or whatever it's called) for your linux distribution. ** Blas and lapack. This is also probably just a matter of finding the appropriate package for your linux. ** flex and bison. These are frequently already installed if you have the various pieces of the development environment installed - ** sqlite3. You also need the shared libraries. This may require that you install a sqlite3-dev package. - ** You need to have numpy (http://www.scipy.org/NumPy) installed. If you do not have python and/or numpy installed in the standard location, you need to edit the Jamroot ($RDBASE/Code/Jamroot) to reflect the location, i.e. replace `gcc:/usr/lib/python2.5/site-packages/numpy/core/include` with whatever is appropriate for your python/numpy installation. + ** The following are required if you are planning on using the Python wrappers: + *** The python headers. This probably means that you need to install the python-dev package (or whatever it's called) for your linux distribution. + *** sqlite3. You also need the shared libraries. This may require that you install a sqlite3-dev package. + *** You need to have numpy (http://www.scipy.org/NumPy) installed. == Installing Boost == * download the boost source distribution from [http://www.boost.org the boost web site] * extract the source to a _non-temporary_ location on your machine, you're going to need it to build the RDKit as well as boost. (e.g. `/usr/local/src/boost_1_36_0`) - * build and install the required boost shared libraries: - ** `cd $BOOST` - ** `bjam --with-thread --with-python release install` - If you have any problems with this step, check the boost [http://www.boost.org/more/getting_started/unix-variants.html installation instructions]. + * The following are required if you are planning on using the Python wrappers: + ** build and install the required boost shared libraries: + *** `cd $BOOST` + *** `bjam --with-thread --with-python release install` + If you have any problems with this step, check the boost [http://www.boost.org/more/getting_started/unix-variants.html installation instructions]. == Installing the boost numeric bindings == * download the most recent version of the boost numeric bindings from [http://mathema.tician.de/dl/software/boost-bindings http://mathema.tician.de/dl/software/boost-bindings]. @@ -30,20 +32,22 @@ The instructions below are for source distributions from Q3 2008 on. ** RDBASE: the root directory of the RDKit distribution (e.g. ~/RDKit) ** BOOSTHOME: should be wherever you extracted the boost source (e.g. /usr/local/src/boost_1_34_1) ** BOOST_BUILD_PATH: should be the same as $BOOSTHOME - ** PYTHON_ROOT: wherever python is installed (e.g. /usr) - ** PYTHON_VERSION: the first two digits of the python version (e.g. 2.5, *not* 2.5.1) - ** PYTHONPATH: make sure it includes $RDBASE/Python ** LD_LIBRARY_PATH: make sure it includes $RDBASE/bin and wherever the boost shared libraries were installed + ** The following are required if you are planning on using the Python wrappers: + ** PYTHON_ROOT: wherever python is installed (e.g. /usr) + ** PYTHON_VERSION: the first two digits of the python version (e.g. 2.5, *not* 2.5.1) + ** PYTHONPATH: make sure it includes $RDBASE + * If you are planning on using the Python wrappers: + ** cd to $RDBASE/Code and do `python CompleteJamroot.py` * Building: cd to $RDBASE/Code and do `bjam` (`bjam address-model=64` on 64bit systems), this builds all libraries, wrappers, and regression tests. This command will generate a lot of text (mostly compiler warnings), but it should not generate any errors. At the end you should *not* see any messages about failed or skipped targets. == Testing the Build (optional, but recommended) == - * cd to $RDBASE/Code and do `python $RDBASE/Python/TestRunner.py test_list.py` - * cd to $RDBASE/Code/GraphMol and do `python $RDBASE/Python/TestRunner.py test_list.py` + * cd to $RDBASE/Code and do `python $RDBASE/rdkit/TestRunner.py test_list.py` * create the databases used by the Python tests, requires sqlite3 to be installed: - ** `sqlite3 $RDBASE/Data/RDTests.sqlt < $RDBASE/Python/Dbase/testData/RDTests.sqlite` - ** `sqlite3 $RDBASE/Data/RDData.sqlt < $RDBASE/Python/Dbase/testData/RDData.sqlite` - * cd to $RDBASE/Python and do: `find . -name 'test_list.py' -exec python $RDBASE/Python/TestRunner.py \{\} >> pytests.out 2>&1 \;` - * cd to $RDBASE/Projects and do: `python $RDBASE/Python/TestRunner.py test_list.py` + ** `sqlite3 $RDBASE/Data/RDTests.sqlt < $RDBASE/rdkit/Dbase/testData/RDTests.sqlite` + ** `sqlite3 $RDBASE/Data/RDData.sqlt < $RDBASE/rdkit/Dbase/testData/RDData.sqlite` + * cd to $RDBASE/Python and do: `python $RDBASE/rdkit/TestRunner.py test_list.py` + * cd to $RDBASE/Projects and do: `python $RDBASE/rdkit/TestRunner.py test_list.py` = Building on Windows = @@ -79,10 +83,11 @@ This section assumes that python is installed in c:\Python25, that the boost lib * Make sure that the directory c:\Python25 is in your PATH * Make sure that the directory c:\RDKit\bin is in your PATH * Make sure that the directory c:\boost\lib is in your PATH - * Make sure that the directory c:\RDKit\Python is in your PYTHONPATH + * Make sure that the directory c:\RDKit is in your PYTHONPATH == Building the RDKit == * cd to your $RDBASE\Code directory + * run : `python CompleteJamroot.py` * run : `c:\boost\boost_1_36_0\bjam.exe --toolset=msvc`. This will take a while and will generate a lot of text (including many warnings), but it should finish without errors. If the last step above completed without errors, you have succeeded in building the RDKit C++ libraries and Python wrappers. Congratulations! @@ -91,16 +96,14 @@ If the last step above completed without errors, you have succeeded in building It's a good idea to test your build to make sure everything is ok. Here's how to do so. * cd to your $RDBASE\Code directory - * run `python c:/RDKit/Python/TestRunner.py test_list.py`. After this completes (less than 30 seconds), you should see a message like this: + * run `python c:/RDKit/rdkit/TestRunner.py test_list.py`. After this completes (a minute or so), you should see a message like this: {{{ ----------------- Script: test_list.py. Passed 14 tests in 9.63 seconds }}} Note that the number of tests passed and time required to run will change as the code itself changes. The important thing is that no failures are reported. - * cd to your $RDBASE\Code\GraphMol directory - * run `python c:/RDKit/Python/TestRunner.py test_list.py`. After this completes (less than 60 seconds), you should see a message like the one above. - * cd to your $RDBASE\Python\Chem directory - * run `python c:/RDKit/Python/TestRunner.py test_list.py`. After this completes (less than 60 seconds), you should see a message like the one above. + * cd to your $RDBASE\rdkit\Chem directory + * run `python c:/RDKit/rdkit/TestRunner.py test_list.py`. After this completes (less than 60 seconds), you should see a message like the one above. If these three test suites pass without failures, your RDKit installation is in good shape and you are ready to go. diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 109f92660..394f1e93e 100755 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -3,6 +3,17 @@ !!!!!! IMPORTANT !!!!!! + - The directory structure of the distribution has been changed in + order to make installation of the RDKit python modules more + straightforward. Specifically the directory $RDBASE/Python has been + renamed to $RDBASE/rdkit and the Python code now expects that + $RDBASE is in your PYTHONPATH. When importing RDKit Python modules, + one should now do: "from rdkit import Chem" instead of "import + Chem". Old code will continue to work if you also add $RDBASE/rdkit + to your PYTHONPATH, but it is strongly suggested that you update + your scripts to reflect the new organization. + + Acknowledgements: Bug Fixes