Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 569162 - sci-physics/root-6.04.06: Portage CXXFLAGS passed directly to internal C++ interpreter
Summary: sci-physics/root-6.04.06: Portage CXXFLAGS passed directly to internal C++ in...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Andrew Savchenko
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-22 13:34 UTC by Marek Szuba (RETIRED)
Modified: 2015-12-23 12:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marek Szuba (RETIRED) archtester gentoo-dev 2015-12-22 13:34:59 UTC
Hello,

Even though it is still compiled using gcc, sci-physics/root-6.04.06 uses its built-in C++ interpreter Cling, which is based on LLVM and Clang, for certain build steps e.g. generation of precompiled headers. Under Gentoo, this interpreter is fed the same CXXFLAGS as the main compiler used to emerge ROOT. This causes build failures if Portage CXXFLAGS include any compiler flags not understood by Cling, for instance Graphite ones:

 * * *

Generating PCH for core/base core/thread io/io math/mathcore net/net math/matrix hist/hist tree/tree graf2d/graf graf2d/gpad graf3d/g3d gui/gui math/minuit hist/histpainter tree/treeplayer tree/treeviewer math/physics graf2d/postscript core/rint math/smatrix math/smatrix hist/spectrum hist/spectrumpainter gui/fitpanel graf2d/x11 graf2d/x11ttf graf3d/gl graf2d/asimage graf2d/asimage graf2d/gviz bindings/pyroot math/genvector math/genvector math/mathmore math/minuit2 roofit/roofitcore roofit/roofit roofit/roostats roofit/histfactory hist/hbook tmva/tmva tmva/tmvagui math/genetic

error: unknown argument: '-floop-block'
error: unknown argument: '-floop-interchange'
error: unknown argument: '-floop-strip-mine'

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00002b37405f526a in waitpid () from /lib64/libc.so.6
#1  0x00002b3740575a8d in ?? () from /lib64/libc.so.6
#2  0x0000559bd7c0b906 in TUnixSystem::StackTrace() ()
#3  0x0000559bd7c0df5c in TUnixSystem::DispatchSignals(ESignals) ()
#4  <signal handler called>
#5  0x0000559bd7a10273 in cling::IncrementalParser::IncrementalParser(cling::Interpreter*, int, char const* const*, char const*) ()
#6  0x0000559bd79edb4e in cling::Interpreter::Interpreter(int, char const* const*, char const*, bool) ()
#7  0x0000559bd7f14a53 in TCling::TCling(char const*, char const*) ()
#8  0x0000559bd7f15dc1 in CreateInterpreter ()
#9  0x0000559bd7b1d717 in TROOT::InitInterpreter() ()
#10 0x0000559bd7b1dac6 in ROOT::GetROOT2() ()
#11 0x0000559bd799d59c in TCling__GetInterpreter ()
#12 0x0000559bd796132c in RootCling(int, char**, bool, bool) ()
#13 0x0000559bd792c8c8 in main ()
===========================================================
Comment 1 Andrew Savchenko gentoo-dev 2015-12-23 12:48:17 UTC
Gentoo do not have separate CXXFLAGS depending on compiler being used.

You can either build root using clang (works for my tests) or remove such flags from your CXXFLAGS on per-package basis using /etc/portage/package.env/

I see no bug in root packaging here. If you want to have compiler-dependent *FLAGS, file a separate bug for relevant teams (toolchain and clang).