Mark Bestley wrote:
I have just got an Apple Silicon Mac Mini and am trying to install some ports
I am trying to use just arm code. However some ports put a +universal variant
as the default. This would not be a problem except some ports do not build if
universal e.g. python38 and icu.
Example ports that force unwanted +universal on are
llvm-9.0 - which I managed to build using the manual fix in the icu ticket
cargo which depends on python38. Now python38 works if arm build only.
How do I force things to build for arm only.
Why are +universal variants set as the default and how can you see which
depenents are set this way (you can then force those to be single architecture)
This is happening when you install a port that does not support the
arm64 architecture, which means the only way to proceed on arm64
hardware is to install an x86_64 version. This means that the
dependencies need to support x86_64 as well, which results in them being
installed with +universal.
If you don't want this to happen, you could set universal_archs to just
'arm64' in macports.conf. This will cause an error when you try to
install any port that would normally trigger installation of a universal
dependency.
- Josh