harfbuzz-icu 0.9.37_0 build fails on 10.7.5

Ryan Schmidt ryandesign at macports.org
Sat Dec 20 09:35:06 PST 2014

On Dec 20, 2014, at 3:59 AM, René J.V. Bertin wrote:

> On Friday December 19 2014 23:27:30 Ryan Schmidt wrote:
>>> :info:build cc1plus: error: unrecognized command line option "-std=c++0x"
>>> :info:build cc1plus: error: unrecognized command line option "-std=c++0x"
>> I'll ask you the same thing I asked in the ticket: what version of Xcode do you have? I don't have any problem building harfbuzz-icu on 10.7.5 with Xcode 4.6.3.
> No issues with that option on 10.6.8?

IIUC, icu only adds --std=c++0x to its pkg-config files and icu-config script if it detects that the compiler used to compile icu supports it. So it should only do that when compiling using clang. That wouldn't be the case on 10.6 or earlier.

The problem arises when the compiler used to compile icu supports C++11 but the compiler used to compile something that uses icu, such as harfbuzz-icu, does not.

The users reporting this problem appear to be using Xcode 4.2.x or 4.1.x on Lion, on which MacPorts defaults to llvm-gcc-4.2, which does not support C++11. But the user presumably received a binary of icu built on our build server, which uses a newer version of Xcode, which defaults to clang, which does support C++11.

The reason the users did not receive a binary of harfbuzz-icu is because the buildbot was busy building earlier submissions at the time. That has now completed, so harfbuzz-icu binaries are now available.

It seems wrong to me that icu would put flags like --std=c++0x into its config files, and I've reported that bug to the developers of icu.

More information about the macports-users mailing list