This is an old revision of the document!
Status of FreeBSD ports on PowerPC
This page mostly focuses on the status of ports on 64-bit PowerPC (known internal to the code as 'powerpc64') as opposed to 32-bit PowerPC.
Port support for FreeBSD/powerpc64 is an active work in progress. Only moderate testing has been done. Consider it an opportunity!
Overview
Ports on powerpc 12-STABLE are built using the (ancient) base system GCC 4.2.1. 13-CURRENT now uses llvm with elfv2 as of the flag day late in 2019Q4. 13-CURRENT from before that date is no longer supported; you must rebuild and then reinstall all your packages.
Most comments in this file apply to ports built using either compiler. Exceptions are called out explicitly.
Buildable ports
Ports buildable on GCC-based systems
See PortsOnGcc.
Almost all ports do build via GCC. Pre-built packages are available for 12-STABLE via the usual methods. Only the quarterly branch is built for 12-STABLE.
However, as powerpc64 is a tier-2 platform in FreeBSD, ports are not at parity with e.g. amd64; there are still a number of ports ignored, skipped, and failing to build. We have several volunteers working on the problem but more are needed, especially in the area of testing.
Please contact MarkLinimon if you want to help and/or to see the error log from the last time any of the failing ports was attempted.
Ports buildable on llvm-based systems
Ports on 13-CURRENT have switched to llvm in base. See PortsOnClang.
Ports that need patches to build
These comments are common to both GCC-based and llvm-based systems.
- (none at this time)
Non-buildable ports
These comments are common to both GCC-based and llvm-based systems.
Build failures in need of most attention
We are actively working to resolve these.
See also: PortsBrokenOnTier2Architectures
- kde5 needs more work. It doesn't build 100% because webengine fails. (On 12-quarterly, see above.)
- firefox and thunderbird fail.
miscellaneous known failures
This list is not comprehensive. Does not include things marked BROKEN or NOT_FOR.
Roughly sorted by # affected, descending. #affected may reflect a partial build.
Updated 20191207.
| Portname | # Affected | Affects | Error | Comments |
|---|---|---|---|---|
| www/qt5-webengine | 75 | KDE | fails to package | |
| sysutils/u-boot-tools | 47 | arm board support | No rule to make target 'include/config/auto.conf' | |
| sysutils/lsof | 14 | various | undefined reference to 'abd_*' |
ssl problems
In 12 and later, there are over 100 port regressions based on ssl. These affect all archs and most are out of scope of this discussion. Almost all are already marked BROKEN, on all architectures.
ports already marked BROKEN
There are around 139 ports marked BROKEN specifically on powerpc64. These are ports that we believe could possibly be fixed on FreeBSD (as opposed to NOT_FOR_ARCHS/ONLY_FOR_ARCHS where we believe that upstream would have to make changes).
Runs with TRYBROKEN set are periodically made to check that they still fail; here are the ones from 20190415.
TRYBROKEN builds do not include things marked NOT_FOR/ONLY_FOR. Those have to be manually edited and forced.
ports not available for powerpc64 (yet) via NOT_FOR/ONLY_FOR/BROKEN
Here is the list of most notable ports. This list is not comprehensive.
Roughly sorted by # affected, descending. #affected may reflect a partial build.
Updated 20200331.
| Portname | # Affected | Affects | Error | Comments |
|---|---|---|---|---|
| lang/go14 | 332 | Go language apps | go tool dist: unknown architecture: powerpc | marked NOT_FOR |
| emulators/linux_base-c7 | 186 | linux* | Linux CentOS 6.10 is unsupported on powerpc64 | marked NOT_FOR |
| lang/fpc | 119 | Pascal language apps | (port Makefile not configured for !x86) | marked NOT_FOR |
| lang/gnustep-base | 94 | gnustep | (fixed on ELFv2) | |
| lang/mono | 57 | C# apps | is only for amd64 armv6 armv7 i386 powerpc | marked NOT_FOR; work in progress 20200330 |
| lang/gcc6-aux | 47 | Ada language | is only for aarch64 amd64 i386 | marked NOT_FOR |
| lang/ldc | 24 | dtrace | unrecognized command line option | marked BROKEN |
| lang/sbcl | 16 | Common Lisp apps | is only for amd64 i386 | marked NOT_FOR |
| www/chromium | 10 | is only for aarch64 amd64 i386 | marked NOT_FOR | |
| devel/protobuf25 | 8 | is only for amd64 i386 | marked NOT_FOR | |
| devel/libunwind | 6 | is only for aarch64 amd64 i386 | marked NOT_FOR |
| print/texlive-texmf | NNN | ERROR | COMMENT |
Notes
- GPU acceleration doesn't work (probably because of our GCC), so running Gnome and KDE may actually be displeasing.
Repositories
See repositories.