[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