Hi Thomas,

Thanks for reporting this. I’ll provide a fix ASAP.

Cheers,
p.

> On 16 Jul 2021, at 16:22, Veith, Thomas <thomas.ve...@novartis.com> 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
> Rdkit-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rdkit-devel


_______________________________________________
Rdkit-devel mailing list
Rdkit-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-devel

Reply via email to