#44367: arb @6.0: failed to detect COMPILER_NAME (got 'unknown', expected 'clang' or 'gcc'). Stop. ---------------------------+----------------------------- Reporter: ryandesign@… | Owner: matt.cottrell@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: arb | ---------------------------+----------------------------- Comment (by matt.cottrell@…): Replying to [comment:3 ryandesign@…]:
The problem seems to be this line of SOURCE_TOOLS/arb_compiler_version.pl:
{{{ if ($detailedVersion =~ /apple.*llvm.*clang/oi) { $detectedCompiler = 'clang'; } }}}
It assumes `clang --version` will contain output matching `/apple.*llvm.*clang/oi` but it was only in Xcode 4.6 that Apple changed the output from "`Apple clang`" to "`Apple LLVM`" so the above line will fail on earlier versions of clang from Xcode versions 3.2.3 through 4.5.x inclusive.
This entire method of attempting to detect clang is really bad, though. A better way would be to just check the return value of:
{{{ $CC -dM -E -x c /dev/null | grep -q __clang__ }}}
`0` means it's clang, `1` means it isn't.
Thanks, I'll bring this up with the upstream developers of arb. -- Ticket URL: <https://trac.macports.org/ticket/44367#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X