[cfe-dev] libc++ on Mac OS X 10.6

Howard Hinnant hhinnant at apple.com
Mon Oct 10 07:38:05 PDT 2011


On Oct 10, 2011, at 9:14 AM, Jonathan Sauer wrote:

>>>>>>> /llvm-bin/bin/clang++ temp.cc -stdlib=libc++
>>>>>>> clang: error: invalid deployment target for -stdlib=libc++ (requires Mac OS X 10.7 or later)
>>>>>>> 
>>>>>>> This used to work on 10.6. Was there a good reason for breaking this on 10.6, and is there any workaround?
>>>>>>> 
>>>>>>> I find this disappointing, as I had hoped the next release of clang, with libc++, would provide a good base-line C++0x compiler. However, I would really like not to require 10.7, as I know various people who do not intend to upgrade any time soon.
>>>>>> Sorry about that.  I've updated the instructions for building on 10.6.  Do:
>>>>>> 
>>>>>> $ export MACOSX_DEPLOYMENT_TARGET=10.6
>>>>>> 
>>>>>> prior to ./buildit
>>>>> That seems to work for libc++. However, the problem persists when building an XCode project on 10.6:
>>>>> 
>>>>> | clang: error: invalid deployment target for -stdlib=libc++ (requires Mac OS X 10.7 or later)
>>>>> 
>>>>> When I change the build variable MACOSX_DEPLOYMENT_TARGET to 10.7, the project builds, but of course crashes on
>>>>> startup.
>>>>> 
>>>>> The TOT from last week worked perfectly. Is there a non-political (i.e. not Apple wanting people to ditch 10.6)
>>>>> reason for this change?
>>>> 
>>>> T> he commit you're looking for is r141374 ( https://llvm.org/viewvc/llvm-project?view=rev&sortby=log&revision=141374 )
>>>> 
>>>> Until you got an official response, you can at least look at the changes, and patch your local clang copy to be able to continue to use clang/libc++ on 10.6.
>>> 
>>> Seems like that changes in ToolChains.cpp are related to iOS simulator, and commit message states about "Lion support", not dropping of everything else :)
> 
> Unless you only support the latest and greatest ;-)
> 
>> Yes, but despite its name, it looks like that LibCXXForSimulator is checked even when you don't target iOS (or iOS simulator).
> 
> Then I would guess it's simply a bug that Howard did not catch because he is already using 10.7.
> 
> Jonathan
> 
> P.S: After changing line 929 of ToolChains.cpp to "isMacosxVersionLT(10, 6)", clang again compiles source for 10.6.
> Thanks again, Jean-Daniel!

I have no knowledge of the change in ToolChains.cpp.  I was not the author, and I'm not familiar with this code.  Note that Apple never supported libc++ on 10.6, and I am not testing against it.  The port to 10.6 was purely open source.  I was aware you could use libc++/clang from the command line on 10.6, but I didn't know you could use it from within Xcode on 10.6.

As this is an open source project, perhaps you can lobby for the change you want. :-)

Howard




More information about the cfe-dev mailing list