<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">c++ standard support in compilers isn’t always black and white. Compilers often claim to support a given standard, but then fail in some corner cases..</div><div class=""><br class=""></div><div class="">That said, in this case looking at</div><div class=""><br class=""></div><div class=""><a href="https://build.macports.org/builders/ports-10.8_x86_64-builder/builds/31506/steps/install-port/logs/stdio" class="">https://build.macports.org/builders/ports-10.8_x86_64-builder/builds/31506/steps/install-port/logs/stdio</a></div><div class=""><br class=""></div><div class="">I don’t see -std=c++11 in the list of compiler options, so as c++11 is not default for this old OS, it might just be a case of adding this</div><div class=""><br class=""></div><div class="">configure.cxxflags-append -std=c++11</div><div class=""><br class=""></div><div class="">Chris</div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On 5 Dec 2020, at 1:03 pm, Ken Cunningham <<a href="mailto:ken.cunningham.webuse@gmail.com" class="">ken.cunningham.webuse@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""></div><div class="">the std:atomic thing was added in 2018, so something else seems funny... clang-3.4 supports c++11 after all...</div><div class=""><br class=""></div><div class="">libomp probably should not be a dependency of clang at all</div><div class=""><br class=""></div><div class="">if it was separate from clang, it can be installed using the current toolchain rathervthan block it</div><div class=""><br class=""></div><div class="">K</div><div class=""><br class="">On Dec 5, 2020, at 04:56, Chris Jones <<a href="mailto:jonesc@hep.phy.cam.ac.uk" class="">jonesc@hep.phy.cam.ac.uk</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="ltr" class="">Hi,</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">The problem is simply the latest version uses std::atomic, which requires c++11, and the usual fix of requesting this c++ standard in the port file does not work due to the fact this port is a clang dependency, so using clang as a fallback compiler is not possible.</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">Note, the port already installs a different version for some systems, those using libstdc++ </div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class=""><a href="https://github.com/macports/macports-ports/blob/master/lang/libomp/Portfile" class="">https://github.com/macports/macports-ports/blob/master/lang/libomp/Portfile</a></div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">So a relatively trivial fix would be to peg macOS 10.9 and older to the last version that builds there, version 10.x. Probably a bit simpler than having to deal with multiple libomp-X ports...</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">Chris</div><div dir="ltr" class=""><br class=""><blockquote type="cite" class="">On 5 Dec 2020, at 5:57 am, Ken Cunningham <<a href="mailto:ken.cunningham.webuse@gmail.com" class="">ken.cunningham.webuse@gmail.com</a>> wrote:<br class=""><br class=""></blockquote></div><blockquote type="cite" class=""><div dir="ltr" class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><blockquote type="cite" class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Attempting to install supertux complains on libomp.
Logfile shows compiler complaints about atomic and variable templates.
</pre></blockquote><div class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">I noticed that the recent update to libomp-11 failed on 10.8 and 10.9 (and 10.6 and less).</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">This is not a big surprise — more likely a miracle that libomp up to 10.0 built without trouble on every system.</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">I will see if I can fix it — maybe I can — but even if so, libomp 12, 13, or … will be unbuildable eventually.</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">So we’ll need to come up with a libomp plan. There is really no reason (I think) that we can only have one libomp — we could install the one that comes with each llvm and then it would always work, I think. Eg clang-9 would use libomp-9.</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Anyway, that is for the future. until libomp is fixed, every clang is dead on 10.8 and 10.9</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">BUT — good news. clang (and most everything else) doesn’t really need libomp anyway. I don’t even know why it is listed as a dependency, to be honest. Just delete from the clang portfile, and you’re good to go again, I think (haven’t tried it… but …).</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Ken</pre></div></div></blockquote></div></blockquote></div></div></blockquote></div><br class=""></div></body></html>