On Tue, Oct 29, 2013 at 6:57 PM, Ryan Schmidt wrote:
> On Oct 29, 2013, at 06:32, Mojca Miklavec wrote:
>
>> (I wonder why other clangs compiled with
>> macports don't work - I didn't test, I just read the comments),
>
> Where?
Here (devel/capnproto/Portfile):
# clang 3.2 - clang-3.4 and all clangs from Xcode < 5 crash while
compiling this.
compiler.blacklist-append \
{clang < 500.2.75} \
macports-clang-3.2 \
macports-clang-3.3 \
macports-clang-3.4 \
*gcc*
First of all, blacklisting all gcc compilers seems wrong (while it is
true that they might not be particularly useful for the reasons of
mixing C++ runtimes that you mentioned, gcc 4.7 seems to work OK, and
probably all later versions do as well). It is true that
-stdlib=libc++ doesn't seem to work with gcc though, so the Portfile
would need some slight modifications if gcc was allowed.
But I have no idea why macports-clang-3.2 was blacklisted for example
(it is true that I didn't try yet whether it works). From the website:
http://kentonv.github.io/capnproto/install.html#clang_32_on_mac_osx
~~~~~ ~~~~~
As of this writing, Mac OSX 10.8 with Xcode 4.6 command-line tools is
not quite good enough to compile Cap’n Proto. The included version of
GCC is ancient. The included version of Clang – which mysteriously
advertises itself as version 4.2 – was actually cut from LLVM SVN
somewhere between versions 3.1 and 3.2; it is not sufficient to build
Cap’n Proto.
There are two options:
- Use Macports, Fink, or Homebrew to get an up-to-date GCC.
- Obtain Clang 3.2 directly from the LLVM project. (Unfortunately,
Clang 3.3 apparently does NOT work, because the libc++ headers shipped
with XCode contain bugs that Clang 3.3 refuses to compile.)
~~~~~ ~~~~~
>> but
>> then it throws errors when including capnproto libraries when
>> compiling TextMate:
>>
>> /opt/local/include/kj/common.h:47:8: warning:
>> "This library requires at least Clang 3.2. XCode 4.6's Clang, which
>> claims to be "
>> "version 4.2 (wat?),
>
> All clangs claim to be GCC 4.2.1, for presumably the same reason that all
> browsers today claim to be Mozilla 5.0.
This is the explanation that should go to the developers of Cap'n
Proto, not to me.
>> is actually built from some random SVN revision
>> between 3.1 "
>> "and 3.2. Unfortunately, it is insufficient for compiling this
>> library. You can "
>> "download the real Clang 3.2 (or newer) from the Clang web site.
>> Step-by-step "
>> "instructions can be found in Cap'n Proto's documentation: "
>> "http://kentonv.github.io/capnproto/install.html#clang_32_on_mac_osx"
>> [-W#warnings] #warning "This library requires at least Clang 3.2.
>> XCode 4.6's Clang, which claims to be "\ ^
>
> No need to build clang manually, since MacPorts has ports for them.
>
> If there is a bug compiling capnproto with the default compiler, file a bug
> in the issue tracker so that we can blacklist unsuitable compilers and find
> one that works. Though I see the port already blacklists MacPorts clangs, and
> Xcode clang < 500 (in other words, clang from Xcode < 5.0, and Xcode 5.0
> doesn’t work on Lion).
Exactly. There is no single compiler left for Lion to use.
> So we need to figure out why MacPorts clang 3.3 or 3.4 is not acceptable and
> make it acceptable.
... and probably also do a similar blacklisting for TextMate.
Mojca
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev