-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2016.09.2 rdkit build error on fedora 25 #37
Comments
I tested the build with every other boost release starting from boost 1.56.0 and it only succeeded with boost 1.62. Similar errors have been reported to occur on Kubuntu 16.10 (#39) where building with boost 1.57 and 1.61 was also verified to fail. |
@bp-kelley @greglandrum the current rdkit release appears to be problematic to build on some recent linux distributions. Do you have any idea if it may be possible to work around the above errors without upgrading to the latest boost? |
@rvianello Sorry, I missed this when it first came through. |
@greglandrum yes, thanks for the suggestion, I will try that and then post an update. |
Another possibility may be to add |
I can report that using |
Where would I add -fpermissive to the CXXFLAGS in the conda build workflow? |
Maybe you may need to add the |
I used |
Here is the boost ticket: https://svn.boost.org/trac/boost/ticket/12181
sigh. those kind of look like real errors too.
…On Mon, Dec 19, 2016 at 8:14 AM, Axel Pahl ***@***.***> wrote:
I used USE_BOOST_MULTIPRECISION_DEFAULT=0 conda build rdkit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#37 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJbioC4VgpqXyFJKD_0S6jvFHkWyDW29ks5rJoMYgaJpZM4K_haY>
.
|
-DCMAKE_CXX_FLAGS_RELEASE=-fpermissive does indeed seem to be sufficient to work around the problem, I'm checking if this is the proper way to pass an additional flag on the cmake command line, without overwriting the default ones. |
With -DCMAKE_CXX_FLAGS_RELEASE=-fpermissive put in the cmdline of cmake in build.sh, the build also runs successfully for me. |
I believe that's because this formulation overwrites CXX_FLAGS_RELEASE instead of supplementing them, so you aren't compiling with full optimization. |
Unfortunately, with that change (
But, boost and boost regex are available and found:
and the error did not occur when I used just |
with this was sufficient to me to complete the build and I didn't experience any issues related to the SLN parser. @apahl maybe you could try both passing |
As an FYI to be sure that something catastrophic hadn't happened with the release: |
@rvianello: If I just pass |
@apahl yes, that's why I suggested using |
Axel, could you try this PR?
rdkit/rdkit#1225
Specifically it adds the following to
Code/GraphMol/ChemReactions/CMakeList.txt
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5)
if(Boost_VERSION LESS 106200)
set_property(SOURCE Enumerate/Enumerate.cpp APPEND_STRING PROPERTY
COMPILE_FLAGS " -fpermissive ")
endif()
endif()
rdkit_library(ChemReactions
…On Wed, Dec 21, 2016 at 10:16 AM, Riccardo Vianello < ***@***.***> wrote:
@apahl <https://github.com/apahl> yes, that's why I suggested using
CMAKE_CXX_FLAGS instead of CMAKE_CXX_FLAGS_RELEASE. This way the
optimization flags should be preserved. On the other hand, your problem
with SLN looks likely to be related to the optimization level, so you will
probably need to disable it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#37 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJbioJ8_OjK6ZLE-zoLXPzg50PmbwGNcks5rKUK-gaJpZM4K_haY>
.
|
@rvianello: My apologies, I did not notice that you mentioned a different flag. |
I have just done the benchmark with the latest successful build using the flags mentioned by @rvianello ( Have a happy and relaxing holiday! Kind regards, |
On fedora 25, with gcc 6.2.1, the rdkit conda recipe fails with the following error
In file included from /home/ric/miniconda3/conda-bld/rdkit_1480453840975/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/config.hpp:61:0, from /home/ric/miniconda3/conda-bld/rdkit_1480453840975/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/cstdint.hpp:36, from /home/ric/miniconda3/conda-bld/rdkit_1480453840975/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/multiprecision/cpp_int.hpp:11, from /home/ric/miniconda3/conda-bld/rdkit_1480453840975/work/Code/GraphMol/ChemReactions/Enumerate/Enumerate.cpp:36: /home/ric/miniconda3/conda-bld/rdkit_1480453840975/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/multiprecision/cpp_int.hpp:181:4: error: right operand of shift expression ‘(1u << 63u)’ is >= than the precision of the left operand [-fpermissive] BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1)); ^ /home/ric/miniconda3/conda-bld/rdkit_1480453840975/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/multiprecision/cpp_int.hpp:401:4: error: right operand of shift expression ‘(1u << 63u)’ is >= than the precision of the left operand [-fpermissive] BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1)); ^ /home/ric/miniconda3/conda-bld/rdkit_1480453840975/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/multiprecision/cpp_int.hpp:548:4: error: right operand of shift expression ‘(1u << 63u)’ is >= than the precision of the left operand [-fpermissive] BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1)); ^ Code/GraphMol/ChemReactions/CMakeFiles/ChemReactions.dir/build.make:350: recipe for target 'Code/GraphMol/ChemReactions/CMakeFiles/ChemReactions.dir/Enumerate/Enumerate.cpp.o' failed
the version of boost required by the rdkit recipe on unix is boost 1.56.0
The text was updated successfully, but these errors were encountered: