[MacPorts] #64464: uchardet builds for ppc when called for ppc+ppc64, but xorg-apps needs it universal

MacPorts noreply at macports.org
Tue Jan 18 12:28:33 UTC 2022


#64464: uchardet builds for ppc when called for ppc+ppc64, but xorg-apps needs it
universal
--------------------------+------------------------------------------------
  Reporter:               |      Owner:  (none)
  barracuda156            |
      Type:  defect       |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.7.1
Resolution:               |   Keywords:  PowerPC, Leopard, ppc64, X11, xorg
      Port:  uchardet,    |
  xorg-apps               |
--------------------------+------------------------------------------------

Comment (by ryandesign):

 Replying to [ticket:64464 barracuda156]:
 > Oddly, despite I have +universal as a default setting on 10.5.8,
 uchardet builds as ppc-only.
 >
 > {{{
 > 36-191:~ svacchanda$ port -v installed uchardet
 > The following ports are currently installed:
 >   uchardet @0.0.7_0 (active) requested_variants='' platform='darwin 9'
 archs='ppc' date='2022-01-18T18:46:00+0800'
 > }}}

 uchardet should have a universal variant, but based on the above, you
 haven't installed it with that variant. Does the variant show up when you
 run `port variants uchardet`?

 I suspect that perhaps it won't, because this port indicates that it
 requires C++11, which on PPC means it must build with a newer MacPorts
 GCC, and only Apple's GCC ever supported building for multiple
 architectures at the same time. The only way to get universal with
 MacPorts GCC would be to build for each arch separately, in other words
 try adding `PortGroup muniversal 1.0` after the `PortSystem 1.0` line.

 > {{{
 > 36-191:~ svacchanda$ sudo port -v install uchardet +universal
 supported_archs="ppc ppc64" build_arch="ppc ppc64"
 > }}}

 You should not override `supported_archs` like this on the command line.

 For one thing, the uchardet Portfile does not contain any code that limits
 the `supported_archs`, so overriding it and restricting it to only ppc
 ppc64 as you did won't be of any use.

 For another, variables you specify on the comand line affect all
 dependencies as well, resulting in the nonsense you observed next:

 > {{{
 > --->  Fetching archive for clang_select
 > --->  clang_select-2.2_0.darwin_9.ppc-ppc64.tbz2 doesn't seem to exist
 in /opt/local/var/macports/incoming/verified
 > }}}

 clang_select is a noarch port, but because you instructed MacPorts that it
 supports ppc and ppc64, MacPorts is dutifully reinstalling it for ppc
 ppc64, which will be no different than before since this port does not
 install architecture-specific files.

 It's also invalid to set `build_arch` to anything other than a single
 architecture.

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


More information about the macports-tickets mailing list