Hi Greg, So we're making progress over here, but we're not out of the woods yet :-(
Your question regarding the location of DLLs made me wonder. It looks as though the default output of Boost's b2.exe program is a collection of static libraries. I rebuilt Boost using bootstrap.bat followed by: .\b2 --build-type=complete This takes forever to build, but the result is accepted by CMake :-) Where I'd told CMake to use, for example: Boost_REGEX_LIBRARY_RELEASE = C:/SourceCode/boost_1_48_0/boost_1_48_0/stage/lib/libboost_regex-vc90-mt-1_48.lib What it really wanted was: Boost_REGEX_LIBRARY_RELEASE = C:/SourceCode/boost_1_48_0/boost_1_48_0/stage/lib/boost_regex-vc90-mt-1_48.lib ...and that didn't appear until I rebuilt the Boost libraries. So am I right in thinking that RDKit dynamically links to Boost? A tip for others here is to check the Advanced box in the CMake GUI since this then allows the Bison and Flex executables' locations (not just the path) to be set. Now I can generate the RDKit.sln file in the build folder. However... the solution doesn't build :-( The easiest place to see the error is in the SMILESParser. The first error is related to m4, which I'd never heard of. C:\Program Files\GnuWin32\bin\bison.exe: m4: No such file or directory It appears to be installed with either Flex or Bison and adding that directory to the path moved us on a step. Now I get the following error: 2>------ Rebuild All started: Project: SmilesParse, Configuration: Debug Win32 ------ 2>Deleting intermediate and output files for project 'SmilesParse', configuration 'Debug|Win32' 2>[BISON][SmartsY] Building parser with bison 2.4.1 2>smarts.yy: conflicts: 66 shift/reduce 2>[BISON][SmilesY] Building parser with bison 2.4.1 2>[FLEX][SmartsL] Building scanner with flex C:/GnuWin32/bin/flex.exe version 2.5.4 2>"smarts.ll", line 1: unrecognized %option: reentrant 2>"smarts.ll", line 2: unrecognized %option: bison-bridge 2>Project : error PRJ0019: A tool returned an error code from "[FLEX][SmartsL] Building scanner with flex C:/GnuWin32/bin/flex.exe version 2.5.4" 2>Build log was saved at "file://c:\SourceCode\rdkit\rdkit\build\Code\GraphMol\SmilesParse\SmilesParse.dir\Debug\BuildLog.htm" 2>SmilesParse - 1 error(s), 0 warning(s) (You might notice that I've reinstalled both Flex and Bison to a directory without spaces in the path and rebuilt CMake to regenerate the RDKit.sln) Any ideas? Thanks, Alex On 22/11/2011 19:58, Greg Landrum wrote: > Dear Alex, > > On Tue, Nov 22, 2011 at 5:39 PM, Alex Henderson > <blueobelisk4a...@gmail.com> wrote: >> I'm having problems installing the source code and getting up and running on >> Windows. >> >> Here's what I'd tried so far. I'm assuming (hoping) it's just a simple >> mistake, but after banging my head against the wall for two days, I thought >> I'd better ask :-) > Good call... hopefully I can help. :-) > >> My environment is Window 7 (32 bit), Visual C++ 2008 (version 9) (not >> express version) SP1 > <snip> > >> Set the environment variable for RDBASE to C:\SourceCode\rdkit > yep > >> Installed boost using their recommended method of running bootstrap.bat >> followed by b2.exe. This is listed here: >> http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html#or-simplified-build-from-source > so far so good > >> At this point I have a file called: >> C:\SourceCode\boost_1_48_0\boost_1_48_0\stage\lib\libboost_python-vc90-mt-1_48.lib >> so I'm assuming boost found python OK > did you end up with DLLs installed somewhere too? > >> Set the environment variable BOOST_ROOT to >> C:\SourceCode\boost_1_48_0\boost_1_48_0\ >> Set the environment variable BOOST_INCLUDEDIR to >> C:\SourceCode\boost_1_48_0\boost_1_48_0\ >> Set the environment variable BOOST_LIBRARYDIR to >> C:\SourceCode\boost_1_48_0\boost_1_48_0\stage\lib\ >> Set the environment variable BISON_SIMPLE to "C:\Program Files\GnuWin32\bin" >> Set the environment variable BISON_EXECUTABLE to "C:\Program >> Files\GnuWin32\bin" > Those should not need to be environment variables; they are > configuration parameters you pass to cmake when you aren't using the > GUI. In my experience the flex and bison executables will also be > found if they are in your PATH when you start cmake. > >> Now we move to CMake... >> >> Where is the source code: C:/SourceCode/rdkit >> Where to build the binaries: C:/SourceCode/rdkit/build >> Click Configure button and I get this... > on the right track. > >>>>> Error message >> CMake Error at C:/Program Files/CMake >> 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1198 (message): >> >> Unable to find the requested Boost libraries. >> >> Boost version: 1.48.0 >> >> Boost include path: C:/SourceCode/boost_1_48_0/boost_1_48_0 >> >> The following Boost libraries could not be found: >> >> boost_python >> >> No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the >> >> directory containing Boost libraries or BOOST_ROOT to the location of >> >> Boost. >> >> Call Stack (most recent call first): >> >> CMakeLists.txt:90 (find_package) >> >> Could NOT find BISON (missing: BISON_EXECUTABLE) >> >> Could NOT find FLEX (missing: FLEX_EXECUTABLE) >> >> CMake Error at Code/GraphMol/SmilesParse/CMakeLists.txt:9 (FLEX_TARGET): >> >> Unknown CMake command "FLEX_TARGET". >> >> Configuring incomplete, errors occurred! >> >> <<<Error message >> >> I've been backwards and forwards changing the environment variables, to no >> avail. >> >> Any suggestions? (other than - 'move to Linux' :-) > Indeed: the easy thing is to just set the variables it's having > problems with directly in the cmake gui. > >> Actually, since I don't want the python interface, a straightforward C++ >> solution will do. > That will simplify things: just turn off the python bindings in cmake > (the variable is RDK_BUILD_PYTHON_WRAPPERS). If you don't care about > the SLN parser, you can also turn that one off so that you won't need > the boost regex library either. > > After you've turned off the python bindings and pointed cmake to bison > and flex (might work to just make sure they are in your PATH, restart > cmake, clear the cache, and then configure again), things *ought* to > work. Feel free to pipe back up if they don't. :-) > > Hope this helps, > -greg ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss