Summary: | sci-physics/root-6.02.05-r2 fails with gcc-5 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Justin Lecher (RETIRED) <jlec> |
Component: | Current packages | Assignee: | Andrew Savchenko <bircoph> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | o.freyermuth, sci-physics |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 536984 | ||
Attachments: | root-6.02.05-r2:20151028-082617.log.xz |
Description
Justin Lecher (RETIRED)
2015-10-28 08:33:50 UTC
Created attachment 415608 [details]
root-6.02.05-r2:20151028-082617.log.xz
build.log
According to the release notes, starting from root 6.04, gcc 5 support is added. https://root.cern.ch/root/html604/notes/release-notes.html Shall we remove root-6.02 from tree? Is there a particular reason to keep it? > According to the release notes, starting from root 6.04, gcc 5 support is added. That seems to be wrong information in the release notes: https://sft.its.cern.ch/jira/browse/ROOT-7895 Not even ROOT 6 master is compatible with the GCC 5 ABI. It will compile, but fail in various cases at runtime (since internally LLVM is used in the JIT, also ROOT is affected by https://bugs.gentoo.org/show_bug.cgi?id=571600 ). So the release-note statement that gcc-5 is supported is only valid if the old ABI is enforced consistently. I can add a run-item compiler check for root to disallow gcc-5 for root builds. Users can set per-package gcc versions using various techniques, e.g. gcc-switcher (https://github.com/megabaks/gcc-switcher) allows to automate such switches. But I'm not sure what will happen if root built with gcc-4 will be linked with libraries built with gcc-5. ABI inconsistency between gcc-4 and gcc-5 may lead to serious problems here. > I can add a run-item compiler check for root to disallow gcc-5 for root builds. I would personally favour that safe way for the time being, users will at least be informed that they might enter unsafe grounds and can still use gcc-switcher if they want to go down that road. I myself have a testing node with a fully gcc-5.3 compiled system + ROOT from current master and albeit the compilation was successful, I encounter (expected) runtime issues. ROOT upstream is very aware of this problem and a mostly complete fix based on LLVM upstream and a pending patchset will very likely arrive in master still in January: https://github.com/root-mirror/root/pull/124#issuecomment-168724751 which probably means that the compiler check can be removed again for the next ROOT version (or, depending on test results, be downgraded to a warning). I added check && die to the root-6 ebuilds in the tree. When new versions will fully support gcc-5, this check will be removed for them. As I know ROOT Version 6.08 has GCC5 ABI support: https://sft.its.cern.ch/jira/browse/ROOT-7947 Can this or any newer version be added to the tree? Release 6.08/06 works for example perfect for me with gcc5. For the record, ROOT can be built with GCC 4.8.5, Clang 3.9, or ICC 16 (and later versions, i.e. any compiler with C++11). |