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
As of this writing (20191207), ports on powerpc are built using the (ancient) base system GCC 4.2.1. 13-CURRENT users should expect an llvm/elfv2 flag day sometime in 2019Q4. See llvm-elfv2 cutover.
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.0R and 13-CURRENT via the usual methods. Only the quarterly branch is built for 12.0R; for 13-CURRENT, only the head branch is built.
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
Results are preliminary. See PortsOnClang.
Ports that need patches to build
These comments are common to both GCC-based and llvm-based systems.
devel/libsoup
Many of the GUI ports (Gnome, KDE, and so forth) depend on devel/libsoup. To build this port you need either:
- This commit did not make it into 12.0R, nor is it current reflected in the 12-quarterly package builds, since they are based on 12.0R.
- Package builds will continue to be based on 12.0R until its EOL on February 4, 2020. In the meantime, you will need to build this package yourself.
graphics/gimp
gimp should be working again as of ports r502663. Ended up being json-c miscompilation.
graphics/mesa-dri
java/openjdk8, java/openjdk11
You need src r346790 to build these.
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.
- firefox and thunderbird fail.
miscellaneous known failures
This list is not comprehensive.
Roughly sorted by # affected, descending. #affected may reflect a partial build.
Updated 20191207.
| Portname | # Affected | Affects | Error | Comments |
|---|---|---|---|---|
| lang/ocaml | 106 | ocaml language apps | error: too few arguments to function gethostbyname_r | marked NOT_FOR (probably incorrectly) |
| archivers/unrar | 28 | various | SSL problem | |
| lang/ldc | 25 | D programming language apps | error: unrecognized command line option “-std=c++11” | marked BROKEN |
| print/texlive-texmf | NNN | ERROR | COMMENT |
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 145 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
This list is not comprehensive.
Roughly sorted by # affected, descending. #affected may reflect a partial build.
Updated 20190705.
| Portname | # Affected | Affects | Error | Comments |
|---|---|---|---|---|
| math/R | 302 | R-cran-* | (should be fixed by ports r504418) | |
| lang/go14 | 267 | Go language apps | go tool dist: unknown architecture: powerpc | marked NOT_FOR |
| emulators/linux_base-c6 | 166 | linux* | Linux CentOS 6.10 is unsupported on powerpc64 | marked NOT_FOR |
| lang/fpc | 121 | Pascal language apps | (port Makefile not configured for !x86) | marked NOT_FOR |
| emulators/linux_base-c7 | 95 | linux* | Linux CentOS 7.6.1810 is unsupported on powerpc64 | marked NOT_FOR |
| devel/py-greenlet | 66 | various | (greenlet needs to be ported to this platform) | marked NOT_FOR |
| lang/gcc6-aux | 50 | Ada language | is only for aarch64 amd64 i386 | marked NOT_FOR |
| lang/luajit | 37 | enlightenment, various others | lj_arch.h:346:2: error: “No support for PowerPC 64 bit mode” | marked NOT_FOR |
| devel/libunwind | 33 | graphics/gimp, others | is only for aarch64 amd64 i386 | marked NOT_FOR |
| lang/mono | 25 | C# apps | is only for amd64 armv6 armv7 i386 powerpc | marked NOT_FOR |
| lang/sbcl | 16 | Common Lisp apps | is only for amd64 i386 | marked NOT_FOR |
| devel/protobuf25 | 8 | devel/hadoop2, others | is only for amd64 i386 | marked NOT_FOR |
| www/chromium | 4 | 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.