_ROOT Version:6.18
_Platform:ubuntu 18.04 Compiler: Not Provided
I got this linking error at the end of make while I was build Gate,in which root play as a important component.According to the message,I think it’s somehow related to root
Is it because I didn’t build root correctly?The following is what I get when I run root.
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
Invoking:
LC_ALL=C x86_64-linux-gnu-g++-7 -O3 -DNDEBUG -xc++ -E -v /dev/null 2>&1 >/dev/null | awk '/^#include </,/^End of search/{if (!/^#include </ && !/^End of search/){ print }}' | GREP_OPTIONS= grep -E "(c|g)\+\+"
Results was:
With exit code 256
------------------------------------------------------------
| Welcome to ROOT 6.18/00 https://root.cern |
| (c) 1995-2019, The ROOT Team |
| Built for linuxx8664gcc on Jun 25 2019, 09:22:23 |
| From tags/v6-18-00@v6-18-00 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------
root [0]
I ignored the '‘ERROR in cling…’'because I can still do calculation with this error existing.
I bothered me for a long time ,any tips will be appreciated!
Hi StephanH,
It is a custom-built root for Gate,and I not sure if I use a system-installed tbb or a builtin tbb,but I find libtbb.so in both directory:
Ok, that’s a good start. Can you also check LD_LIBRARY_PATH and run ldd on a library in gate that uses tbb?
One thing that can go wrong is that the system libraries come first in LD_LIBRARY_PATH such that the system library is loaded instead of the root-internal library. That would be fixed by changing their order in LD_LIBRARY_PATH. ldd will tell you which one is getting loaded.
You are right! I build Gate successfully by simply move /home/hcx/Software/Gate/root/root/lib in front of other directories in LD_LIBRARY_PATH variable! Thank you so much!
One thing is still not perfect is that when I run root , I still got the error message below,
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
Invoking:
LC_ALL=C x86_64-linux-gnu-g++-7 -O3 -DNDEBUG -xc++ -E -v /dev/null 2>&1 >/dev/null | awk '/^#include </,/^End of search/{if (!/^#include </ && !/^End of search/){ print }}' | GREP_OPTIONS= grep -E "(c|g)\+\+"
Results was:
With exit code 256
------------------------------------------------------------
| Welcome to ROOT 6.18/00 https://root.cern |
| (c) 1995-2019, The ROOT Team |
| Built for linuxx8664gcc on Jun 25 2019, 09:22:23 |
| From tags/v6-18-00@v6-18-00 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------
root [0]
I can still do calculation now,but I don’t know if it will go wrong in the future,is there any way to kill this error?
best,
carr
cling was built with x86_64-linux-gnu-g++-7 as compiler. It needs to figure out what the compiler’s include paths are at cling runtime, and so it’s trying to ask it. But that fails - maybe x86_64-linux-gnu-g++-7 doesn’t exist on that machine?