TString.h `no template name 'basic_string_view'`

Continuing the discussion from Standalone application compilation error with TString.h:

I’ve run into issues when including TString.h in compiled scripts. This has been discussed previously above and according to the bug tracker should have been resolved in 6.10/08. But I do observe this behavior in 6.11/02. Did this version regress with respect to that bug?

Can be reproduced with a one line script:

#include <TString.h>

Compiler output:

root [0] .L script.C+
Info in <TMacOSXSystem::ACLiC>: creating shared library script_C.so
Warning in cling::IncrementalParser::CheckABICompatibility():
  Possible C++ standard library mismatch, compiled with _LIBCPP_VERSION '3700'
  Extraction of runtime standard library version was: '4000'
In file included from input_line_12:9:
In file included from ././script.C:1:
In file included from /opt/root/6.11.02/include/TString.h:28:
/opt/root/6.11.02/include/RStringView.h:35:12: error: no template named 'basic_string_view'
   typedef basic_string_view<char> string_view;
/opt/root/6.11.02/include/RStringView.h:36:12: error: no template named 'basic_string_view'
   typedef basic_string_view<char16_t> u16string_view;
/opt/root/6.11.02/include/RStringView.h:37:12: error: no template named 'basic_string_view'
   typedef basic_string_view<char32_t> u32string_view;
/opt/root/6.11.02/include/RStringView.h:38:12: error: no template named 'basic_string_view'
   typedef basic_string_view<wchar_t> wstring_view;
Error in <ACLiC>: Dictionary generation failed!

Maybe @pcanal knows about it…

This indicates that XCode was updated but ROOT was not recompiled from scratch. Because of changed in XCode the configuration step (the cmake command) must be redone from ‘scratch’ (at the very least delete CMakeCache.txt) otherwise cmake will keep the information it gather about the previous compiler version.


Got it, I’ll recompile it from scratch.

EDIT: A fresh build resolved the issue.

Thanks for this, I could try. However, up to now I was happy with the binaries from https://root.cern.ch/content/release-61008 and didn’t compile root myself. Will you also provide a binary for the new XCode? Please tell me, otherwise I will compile on my mac.

This is a question for the ROOT team, perhaps @bellenot or @pcanal can comment.

We will tagging and releasing v6.12/00 in the next few days. This version will have a binaries compatible with High SIerra and XCode9.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.