Bug 1312393 - Script compilation within root broken with libstdc++-devel-6.0.0-0.12.fc24.x86_64
Script compilation within root broken with libstdc++-devel-6.0.0-0.12.fc24.x8...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: root (Show other bugs)
24
x86_64 Linux
unspecified Severity high
: ---
: ---
Assigned To: Mattias Ellert
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-26 10:34 EST by nvwarr
Modified: 2016-04-28 16:41 EDT (History)
2 users (show)

See Also:
Fixed In Version: root-6.06.02-1.fc24 root-6.06.02-1.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-15 17:35:21 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description nvwarr 2016-02-26 10:34:07 EST
Description of problem:

Compilation of scripts within root is broken

Version-Release number of selected component (if applicable):

root-5.34.32-8.fc24.x86_64

How reproducible:

Always

Steps to Reproduce:
1. Create a simple root script, e.g. the following as hello.C

#include <iostream>
void hello() {
   std::cout << "hello, world!" << endl;
}

2. .L hello.C++

Actual results:
Error: class,struct,union or type decltype(nullptr) not defined  /usr/include/c++/6.0.0/x86_64-redhat-linux/bits/c++config.h:2092:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:162:
Error: Symbol default is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:162:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:163:
Error: Symbol default is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:163:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:164:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:165:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:166:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:166:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:181:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:198:
Error: Symbol bool is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:244:
Error: Function alignof(bool) is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:244:
Error: Invalid type 'constexpr' in declaration of 'int _S_alignment' /usr/include/c++/6.0.0/bits/atomic_base.h:244:
Syntax error /usr/include/c++/6.0.0/bits/atomic_base.h:246:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:246:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:249:
Error: Symbol default is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:249:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:250:
Error: Symbol default is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:250:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:251:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:252:
Error: unrecognized language construct /usr/include/c++/6.0.0/bits/atomic_base.h:253:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/bits/atomic_base.h:253:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:380:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:401:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:420:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:462:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:506:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:519:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:529:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:539:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:549:
Error: Redefinition of default argument /usr/include/c++/6.0.0/bits/atomic_base.h:559:
Error: abstract class object '__atomic_base<bool> _M_base' declared /usr/include/c++/6.0.0/atomic:61:
Error: unrecognized language construct /usr/include/c++/6.0.0/atomic:64:
Error: Symbol default is not defined in current scope  /usr/include/c++/6.0.0/atomic:64:
Error: unrecognized language construct /usr/include/c++/6.0.0/atomic:65:
Error: Symbol default is not defined in current scope  /usr/include/c++/6.0.0/atomic:65:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/atomic:66:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/atomic:67:
Error: unrecognized language construct /usr/include/c++/6.0.0/atomic:68:
Error: Symbol delete is not defined in current scope  /usr/include/c++/6.0.0/atomic:68:
etc. etc. etc.

Expected results:

Should create a shared library with a function hello, which can be called from the command line. Works fine on Fedora 23 with 
libstdc++-devel-5.3.1-2.fc23.x86_64.

Additional info:

Alternatively, with rootcint and an empty LinkDef.h
> LinkDef.h
rootcint -f test.C -c -p LinkDef.h

gives the same messages. Note that removing the -p seems to work (i.e. using root's own preprocessor rather than the compiler's).
Comment 1 Fedora Update System 2016-04-11 08:57:58 EDT
pythia8-8.2.15-1.el7 root-6.06.02-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-fb4c8595e1
Comment 2 Fedora Update System 2016-04-11 08:58:18 EDT
pythia8-8.2.15-1.fc24 root-6.06.02-1.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-ad70b05a7e
Comment 3 Fedora Update System 2016-04-12 06:53:49 EDT
pythia8-8.2.15-1.fc24, root-6.06.02-1.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-ad70b05a7e
Comment 4 nvwarr 2016-04-12 06:57:09 EDT
Fantastic. It works. With a bit of messing around (due to gcc issues, rather than root ones) I was able to get all my root code to compile. I just hope other people are as happy with the rebase to root 6. I faced this issue a while ago and it needed some work to get things to run with root 6.
Comment 5 Fedora Update System 2016-04-13 09:52:22 EDT
pythia8-8.2.15-1.el7, root-6.06.02-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-fb4c8595e1
Comment 6 Fedora Update System 2016-04-15 17:35:04 EDT
pythia8-8.2.15-1.fc24, root-6.06.02-1.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.
Comment 7 Fedora Update System 2016-04-28 16:40:57 EDT
pythia8-8.2.15-1.el7, root-6.06.02-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.