Bug 1478693 - libstdc++ update breaks some root code
libstdc++ update breaks some root code
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: root (Show other bugs)
25
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Mattias Ellert
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-08-06 04:04 EDT by nvwarr
Modified: 2017-08-20 19:51 EDT (History)
2 users (show)

See Also:
Fixed In Version: root-6.10.04-1.fc25
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-08-20 19:51:49 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)
Test script to demonstrate the problem (100 bytes, text/x-csrc)
2017-08-06 04:04 EDT, nvwarr
no flags Details

  None (edit)
Description nvwarr 2017-08-06 04:04:35 EDT
Created attachment 1309598 [details]
Test script to demonstrate the problem

Description of problem:

After an update of libstdc++ some of our in-house software no longer works. I can reproduce the problem with a simple test script, which shows that it is an incompatibility between root and the new libstdc++.

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

libstdc++-6.4.1-1.fc25.x86_64
libstdc++-devel-6.4.1-1.fc25.x86_64
root-core-6.10.02-3.fc25.x86_64
root-cling-6.10.02-3.fc25.x86_64

How reproducible:

Always

Steps to Reproduce:
1. Using the attached script: root -q test.C++

Actual results:

Processing test.C++...
Info in <TUnixSystem::ACLiC>: creating shared library /tmp/./test_C.so
Warning in cling::IncrementalParser::CheckABICompatibility():
  Possible C++ standard library mismatch, compiled with __GLIBCXX__ '20161221'
  Extraction of runtime standard library version was: '20170727'
In file included from test_C_ACLiC_dict dictionary payload:10:
././test.C:1:10: fatal error: file '/usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/memory' modified since it was first processed
#include <memory>
         ^
Warning in <TInterpreter::TCling::RegisterModule>: Problems declaring payload for module test_C_ACLiC_dict.
input_line_11:2:3: error: use of undeclared identifier 'test'
 (test())
  ^

Expected results:
hello, world

Additional info:

There are two related, but separate issues. The warning of the C++ standard library mismatch and the error that the memory header was modified since it was first processed.

Recompiling the same version of root from the source rpm (using the new headers) and installing root-core again fixes the error and installing root-cling fixes the warning.

So it just needs a mock rebuild of root.
Comment 1 Fedora Update System 2017-08-11 21:28:12 EDT
root-6.10.04-1.fc25 has been pushed to the Fedora 25 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-2017-917de4175b
Comment 2 nvwarr 2017-08-14 02:31:31 EDT
Yes, that fixes it. Thanks for another quick response.
Comment 3 Fedora Update System 2017-08-20 19:51:49 EDT
root-6.10.04-1.fc25 has been pushed to the Fedora 25 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.