[MacPorts] #55709: libcxx @5.0.1_1 build fails with gcc

MacPorts noreply at macports.org
Thu Jan 18 14:41:57 UTC 2018


#55709: libcxx @5.0.1_1 build fails with gcc
---------------------+-------------------------------
  Reporter:  potmj   |      Owner:  jeremyhu
      Type:  defect  |     Status:  assigned
  Priority:  Normal  |  Milestone:
 Component:  ports   |    Version:  2.4.2
Resolution:          |   Keywords:  leopard universal
      Port:  libcxx  |
---------------------+-------------------------------

Comment (by kencu):

 Jeremy has written up certain Portfiles to force universal builds for
 certain parts of the toolchain. He is not going to change that, nor should
 he IMHO.

 potmj currently has his `universal_archs` set to `i386 ppc x86_64` and
 this is problematic when building with clang. potmj ran into this issue,
 and has blown up his toolchain trying to get around it. He's now trying to
 build `libcxx` with gcc-4.2, which will never work with the toolchain the
 way Jeremy has it written.

 Jeremy uses the `buildit` scripts to prevent the requirement for `cmake`
 which is a circular dependency on older systems the way MacPorts is set
 up. You have found out that you can build `libcxx` using the `cmake`
 build. That works for you on linux because building gcc6+ does not depend
 on cmake, and going that route, there is no circular dependency issues. It
 would work for us on MacPorts too, should we decide to set up the build
 that way. But we are not going to do that on MacPorts for 100 reasons we
 all know well. We are going to use the `buildit` script, and the `buildit`
 script is not presently `gcc`-friendly.

 So potmj can either go through tremendous hoops that probably only 5 or 6
 of use would understand to make this work with gcc for no purpose at all,
 or he can simply change his universal_archs to `i386 x86_64` and then
 everything will be fine again (once he gets back on the train with his
 toolchain, and re-enables clang as his default compiler).

 Just because his universal_archs are set to `i386 x86_64` doesn't mean he
 will have to '''build''' everything universal. There is no need to do
 that. However, when one of Jeremy's Portfiles forces universal, it will
 '''work''' instead of '''break'''.

--
Ticket URL: <https://trac.macports.org/ticket/55709#comment:7>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list