Re: [Rdkit-devel] RDKit 2021.x build for Windows with Mingw is broken
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
From: Paolo T. <pao...@gm...> - 2021-07-16 22:29:17
|
Hi Thomas, Thanks for reporting this. I’ll provide a fix ASAP. Cheers, p. > On 16 Jul 2021, at 16:22, Veith, Thomas <tho...@no...> wrote: > > Hi *, > > When trying to build RDKit for Windows with the MINGW toolchain, the build dies during linking: > > [ 49%] Building CXX object Code/GraphMol/FileParsers/CMakeFiles/FileParsers.dir/MultithreadedSmilesMolSupplier.cpp.obj > [ 49%] Building CXX object Code/GraphMol/FileParsers/CMakeFiles/FileParsers.dir/MultithreadedSDMolSupplier.cpp.obj > [ 49%] Linking CXX shared library ../../../bin/libRDKitFileParsers.dll > /usr/bin/x86_64-w64-mingw32-ld: CMakeFiles/FileParsers.dir/objects.a(MolFileWriter.cpp.obj):MolFileWriter.cpp:(.text+0xe3ba): undefined reference to `RDDepict::compute2DCoords(RDKit::ROMol&, std::map<int, RDGeom::Point2D, std::less<int>, std::allocator<std::pair<int const, RDGeom::Point2D> > > const*, bool, bool, unsigned int, unsigned int, int, bool, bool)' > collect2: error: ld returned 1 exit status > make[2]: *** [Code/GraphMol/FileParsers/CMakeFiles/FileParsers.dir/build.make:557: bin/libRDKitFileParsers.dll] Error 1 > make[1]: *** [CMakeFiles/Makefile2:3249: Code/GraphMol/FileParsers/CMakeFiles/FileParsers.dir/all] Error 2 > make: *** [Makefile:171: all] Error 2 > > I’m using the following cmake options: > > cmake -DRDK_BUILD_THREADSAFE_SSS=OFF \ > -DCMAKE_BUILD_TYPE=Release -DRDK_BUILD_AVALON_SUPPORT=ON -DRDK_BUILD_INCHI_SUPPORT=ON \ > -DRDK_BUILD_PYTHON_WRAPPERS=OFF -DRDK_BUILD_SWIG_WRAPPERS=ON -DRDK_BUILD_SWIG_CSHARP_WRAPPER=ON -DRDK_BUILD_SWIG_JAVA_WRAPPER=OFF \ > -DRDK_USE_BOOST_IOSTREAMS=ON -DRDK_USE_BOOST_SERIALIZATION=ON -DRDK_USE_BOOST_STACKTRACE=OFF \ > -DBUILD_TESTING=OFF -DRDK_BUILD_CPP_TESTS=OFF \ > -DRDK_INSTALL_INTREE=OFF -DCMAKE_INSTALL_PREFIX=/image/rdk/win .. > > When looking a bit into it, the symbol is in the obj file: > /src/rdkit-Release_2021_03_3/buildw# nm Code/GraphMol/Depictor/CMakeFiles/Depictor_static.dir/RDDepictor.cpp.obj | grep compute2DCo > 00000000000030d0 T _ZN8RDDepict15compute2DCoordsERN5RDKit5ROMolEPKSt3mapIiN6RDGeom7Point2DESt4lessIiESaISt4pairIKiS5_EEEbbjjibb > > The symbol is in the DLL > bin/libRDKitDepictor.dll > 000000006f204470 T _ZN8RDDepict15compute2DCoordsERN5RDKit5ROMolEPKSt3mapIiN6RDGeom7Point2DESt4lessIiESaISt4pairIKiS5_EEEbbjjibb > > The symbol in in the tree in libRDKitDepictor_static.a > nm libRDKitDepictor_static.a | grep compute2DC > 00000000000030d0 T _ZN8RDDepict15compute2DCoordsERN5RDKit5ROMolEPKSt3mapIiN6RDGeom7Point2DESt4lessIiESaISt4pairIKiS5_EEEbbjjibb > > But the symbol is missing in lib/libRDKitDepictor.dll.a > > The build works for linux and osx, so it seems to be specific to windows. > > I tried to compile all releases from 2021 and the bug is there since 2021_03_1. > > I also tried crosscompile which has the same behavior as the native windows build (with two different versions of the toolchain for two different Ubuntu release) so it seems its not related to a specific gcc version/mingw version. > (cross compile cmake was cmake -DCMAKE_CROSSCOMPILING=ON -DCMAKE_TOOLCHAIN_FILE=../win-x64.cmake -DMSVC_RUNTIME_DLL=/work/mingw/msvcr110.dll – > DRDK_BUILD_THREADSAFE_SSS=OFF \ > -DCMAKE_BUILD_TYPE=Release -DRDK_BUILD_AVALON_SUPPORT=ON -DRDK_BUILD_INCHI_SUPPORT=ON \ > -DRDK_BUILD_PYTHON_WRAPPERS=OFF -DRDK_BUILD_SWIG_WRAPPERS=ON -DRDK_BUILD_SWIG_CSHARP_WRAPPER=ON -DRDK_BUILD_SWIG_JAVA_WRAPPER=OFF \ > -DRDK_USE_BOOST_IOSTREAMS=ON -DRDK_USE_BOOST_SERIALIZATION=ON -DRDK_USE_BOOST_STACKTRACE=OFF \ > -DBUILD_TESTING=OFF -DRDK_BUILD_CPP_TESTS=OFF \ > -DBOOST_ROOT=/work/mingw/mingw64 -DRDK_INSTALL_INTREE=OFF -DCMAKE_INSTALL_PREFIX=/image/rdk/win .. > ) > > I attach a Dockerfile where you can easily reproduce the issue. > > Best, > Thomas > > p.s.: Also there was a minimal patch required to allow compiling of some explicit template instantiations, pls find attached > > > <fix_template.patch> > <win-x64.cmake> > <Dockerfile> > _______________________________________________ > Rdkit-devel mailing list > Rdk...@li... > https://lists.sourceforge.net/lists/listinfo/rdkit-devel |