Status of FreeBSD ports on PowerPC
This page mostly focuses on the status of ports on 64-bit PowerPC in big-endian mode (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!
Contents
Overview
- Ports on 12-STABLE are still being built using the (ancient) base system GCC 4.2.1.
13-STABLE 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 or reinstall src, and then reinstall all your packages.
Most comments in this file apply to ports built using either compiler. Exceptions are called out explicitly.
Official package repository availability
Platform |
11.5 |
12.2 |
13.0 |
powerpc |
no |
no |
no |
powerpcspe |
no |
no |
no |
powerpc64 |
no |
yes |
yes |
powerpc64le |
no |
no |
no |
Buildable ports
Ports buildable on GCC-based systems
Almost all ports do build via GCC. Pre-built packages are available for 12-STABLE via the usual methods. At the momemnt, 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-STABLE switched to llvm in base. See powerpc/ports/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
as of 20210128 on pylon, glib20 fails. The statistics below do not reflect this.
We are actively working to resolve these.
- kde5 needs more work. It doesn't build 100% because webengine fails. Note that due to Chromium having code written strictly for little-endian, only porting to powerpc64le is possible..
- firefox now builds on 13 (as of 20200607) but still fails on 12. However, see note below.
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 20210128.
Portname |
# Affected |
Affects |
Error |
Comments |
www/qt5-webengine |
83 |
KDE |
fails to package |
|
lang/ghc |
53 |
Haskell ports |
linker_error |
|
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.
clang11 problems
In 13 and later, there are over 100. These mostly show up as duplicate symbol. They are not specific to powerpc, and are being marked BROKEN as of 20210128.
ports already marked BROKEN
There are around 39 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.
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; some of the more obscure ports are omitted..
Roughly sorted by # affected, descending. #affected may reflect a partial build.
Updated 20210128.
Portname |
# Affected |
Affects |
Error |
Comments |
lang/go |
375 |
Go language apps |
go tool dist: unknown architecture: powerpc |
marked NOT_FOR |
emulators/linux_base-c7 |
183 |
linux* |
Linux CentOS 6.10 is unsupported on powerpc64 |
marked NOT_FOR |
lang/fpc |
101 |
Pascal language apps |
(port Makefile not configured for !x86) |
marked NOT_FOR |
lang/gnustep-base |
120 |
gnustep |
|
(fixed on ELFv2) |
sysutils/u-boot-tools |
55 |
arm board support |
include/config_distro_bootcmd.h:279:3: sandbox EFI support is only supported on ARM and x86 |
marked BROKEN |
lang/gcc6-aux |
39 |
Ada language |
is only for aarch64 amd64 i386 |
marked NOT_FOR |
lang/ldc |
24 |
dtrace |
unrecognized command line option |
marked BROKEN |
lang/mono |
13 |
C# apps |
is only for amd64 armv6 armv7 i386 powerpc |
marked NOT_FOR; work in progress 20200609 |
lang/sbcl |
11 |
Common Lisp apps |
is only for amd64 i386 |
marked NOT_FOR |
www/chromium |
10 |
|
is only for aarch64 amd64 i386 |
marked NOT_FOR |
Notes
- GPU acceleration doesn't work (probably because of our GCC), so running Gnome and KDE may actually be displeasing.
Firefox runs "but it's slow, the graphics are pretty bad, and Javascript performance is abysmal". (JustinHibbits)
Repositories
See /repositories.
See also: PortsBrokenOnTier2Architectures