[MacPorts] #48016: icu do not compile under OSX 10.7 (error: initialization of non-aggregate type with an initializer list)
MacPorts
noreply at macports.org
Fri Jun 12 15:36:25 PDT 2015
#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 :
>
> http://en.wikipedia.org/wiki/Xcode#Toolchain_versions
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
More information about the macports-tickets
mailing list