All compilers are either blacklisted or unavailable (was: compiler warning)

Joshua Root jmr at macports.org
Sat Oct 12 16:19:26 UTC 2019


Ryan Schmidt wrote:
> On Oct 11, 2019, at 23:11, Andrew Hartung wrote:
> 
>> On Oct 11, 2019, at 9:39 PM, Ryan Schmidt wrote:
> 
>>> On Oct 10, 2019, at 22:58, Andrew Hartung wrote:
>>> 
>>>> 
>>>> Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
>>> 
>>> llvm, clang, and lldb are all part of the same software package.
>>> 
>>> Different ports impose different restrictions on the versions of compilers they can be built with. According to the llvm-9.0 portfile, llvm-9.0 and clang-9.0 blacklist clang < 602 while lldb-9.0 blacklists clang < 700.
>>> 
>>> The message you received means that, after applying the blacklist, no suitable compiler remains. That should not be the case with Xcode 10; you should have clang 1000 or newer, which should be fine. What version of clang do you actually have? Run
>>> 
>>> /usr/bin/clang --version
>>> 
>>> to find out. If it's less than 1000, try (re)installing the command line tools.
>>> 
>>> If that's not it, the compiler blacklist versions portgroup was recently changed. Maybe in doing so we introduced a bug.
>>> 
>> 
>> ~ $ /usr/bin/clang --version
>> Apple clang version 11.0.0 (clang-1100.0.33.8)
>> Target: x86_64-apple-darwin18.7.0
>> Thread model: posix
>> InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> 
> Clang 11 goes with Xcode 11 but you said you have Xcode 10. You should either upgrade to Xcode 11 to match your clang version (I don't recommend this due to the many problems we've seen with SDK paths) or you should downgrade your Clang version (that is to say, your command line tools version) to match your Xcode version.
> 
> 
>> I had not changed/updated anything related to xcode since I had last accepted the xcode license, so maybe there has been a bug introduced.
> 
> Possibly. I am not able to investigate this right now. Maybe somebody else can.

Run any command that parses the portfile with the -d option. 'port -d
info llvm-9.0' for example. You will see a lot of debug output, some of
which is from compiler_blacklist_versions. I see this:

DEBUG: compiler clang 1100.0.33.8 not blacklisted because it doesn't
match {clang < 602}

- JOsh


More information about the macports-users mailing list