[Rdkit-devel] Some larger-scale RDKit C++ code changes
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
|
From: Greg L. <gre...@gm...> - 2018-04-04 03:23:48
|
NOTE: If you don't work with the RDKit at the C++ level or build the code yourself from source, you probably don't need to read this email. TL;DR: When we do the beta for the 2018.03.1 release we're going to switch the C++ backend to use modern C++ (=C++11). For people who can't switch to use that code, we will continue to provide bug fixes for the 2017.09 release for at least another 6 months. -------------------------------------- # What's happening? As part of the upcoming 2018.03 release, we will start using modern C++ for the RDKit - this means C++11 at the moment, the goal is that you should be able to build the code with g++ v4.8. I've been talking about this for a while, blogged about it (https://medium.com/@greg.land rum_t5/the-rdkit-and-modern-c-48206b966218), and posted to the rdkit-devel list (https://sourceforge.net/p/rdkit/mailman/message/35811216/), now it's finally happening. Concretely what this means in github is that the current master branch will be renamed to legacy and the modern_cxx branch will be renamed to master. # Who does this affect? This should only affect people who need to build the RDKit C++ code themselves. If you use a binary version of the RDKit like the ones available inside of Anaconda Python or KNIME, this change should have no impact upon you. # What about people who can't use up-to-date compilers? We realize that some people on older operating systems will not be able to switch to start using a compiler that supports C++11. In order to continue to support this subset of developers, we will continue to apply bug fixes to the current Release_2017_09 branch and do occasional patch releases. Since this is intended for people who need to build the code themselves anyway, we won't do builds of these releases any more. We will keep doing these patch release at least until the 2018.09 release. Whether or not we continue past that date will depend on demand, so if you are using these releases please let us know. # Why are you doing this? There's a long, rambling answer to this, but I'm not going to give it here. :-) The simplest explanation is that we think that the core of the RDKit should be using a modern and (reasonably) up-to-date version of the language that it's written in. The developer experience is better and, happily, the code ends up being faster. |