#48016: icu do not compile under OSX 10.7 (error: initialization of non-aggregate type with an initializer list) -------------------------------+-------------------------- Reporter: caulier.gilles@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Resolution: | Keywords: Port: icu | -------------------------------+-------------------------- Comment (by ryandesign@…): Replying to [comment:10 caulier.gilles@…]:
Xcode and Clang versions are closed as you can seen in wikipedia :
I'm aware that Xcode versions include specific related versions of clang; we have our own version of that chart at XcodeVersionInfo. But we offer newer versions of clang in MacPorts which could be used to address the situation, as you discovered.
if i install icu like this :
{{{ port install clang_select port install clang-3.6 port select --set clang mp-clang-3.6 }}}
The only thing that "selecting" mp-clang-3.6 will do is creating a symlink /opt/local/bin/clang pointing to MacPorts clang 3.6. This makes it more convenient for you to use MacPorts clang 3.6 in your own projects at the command line because you now only have to type "clang". But this will not affect how MacPorts builds any ports. MacPorts will still use the compiler it intends to use, regardless of whether you have a "clang" symlink or what it points to.
{{{ port install icu configure.compiler=macports-clang-3.6 }}}
1. This want mean that all ports required to install icu (dependencies) will be compiled with "macports-clang-3.6" ?
Yes, but only the ones that were not already installed. To prevent that, make sure you install all dependencies first.
2. This want mean that all ports to install later and which use icu as dependency will be compiled with "macports-clang-3.6" ?
No; it is a one-time action for that single installation. It will not affect other later installations of other ports, nor will it affect later rebuilds or upgrades of icu. Setting `configure.compiler` at the command line is a diagnostic tool. So thank you for using it to verify that using a newer clang does allow you to build in this situation. Now we just need to decide the best way to fix the port: either manually add code to the icu port to add the cxx11 portgroup when the stdlib is libc++, or add code to the cxx11 portgroup to provide a flag to enable that behavior so that other ports that need it could use it too. -- Ticket URL: <https://trac.macports.org/ticket/48016#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X