Apple update


ROOT Version: 6.36.00
Platform: MAC OS 15.5 (24F74)
Compiler: Apple clang version 17.0.0 (clang-1700.0.13.5)


A new feature with clang??? Ambiguous overload operator…

In file included from /usr/local/Cellar/root/6.36.00/include/root/TStreamerInfo.h:20:
In file included from /usr/local/Cellar/root/6.36.00/include/root/TVirtualCollectionProxy.h:25:
/usr/local/Cellar/root/6.36.00/include/root/TClassRef.h:47:52: error: use of overloaded operator '!=' is ambiguous (with operand types 'std::atomic<TClass *const *>' and 'const std::atomic<TClass *const *>')
      if (this != &rhs && (!fClassPtr || fClassPtr != rhs.fClassPtr)) { ... 

Thank you !!!

Did you rebuild and/or redownload ROOT after the update?

yes. I upgraded root via the brew upgrade root command. But this should be independent of the compiled root code. I am trying to build a library that built under the previous OS.

For better or worse each update to MacOS and XCode tends to ‘break things’ and using code built under the previous OS is fragile.

Hi Philippe

Understood… Point taken… Yet…

I was able to eliminate the problem by commenting out the operator!=() function from the FastJet package. My code calls sorting functions from the FastJet package. So when the G_Jets.xxx file is compiled to generate callable code from root, somehow the operator!=() of the fast jet package would “collide” with the root operator!=().

It appears that FastJet code defines operator!=() but does not use it. So… commenting it out in the FastJet package does not brake anything and the code compiles…

The real question is why there is an ambiguity with the new OS but there was not with the previous…

I think I am getting a headache… :slight_smile:

Claude

The real question is why there is an ambiguity with the new OS but there was not with the previous…

In this case, it seems that instead of the new OS, it is likely that it is the new XCode version which comes with a new version of the compiler which may be better at finding issue or something like that :slight_smile:

Yes. Agreed. Thanks for your input.

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