CURRENT: aarch64 /poudriere installation fails with: sh: cc: not found
ohartmann at walstatt.org
Wed Mar 22 14:10:00 UTC 2017
I'm pretty new to cross compiling on FreeBSD, so to make the introduction
short: amazed by the possibilities of FreeBSD on Pine64 and poudriere as the
basis of our own ports repository, I try to build a repository of selected
ports via poudriere for arm64.aarch64 and - fail!
When installaing the jail from a prebuilt world via "-m src=...", the
installation fails with:
make: "/pool/CURRENT/src/share/mk/bsd.compiler.mk" line 145: Unable
to determine compiler type for CC=cc -target aarch64-unknown-freebsd12.0
-B/usr/local/aarch64-freebsd/bin/. Consider setting COMPILER_TYPE.
*** Error code 1
make: stopped in /pool/sources/CURRENT/src
*** Error code 1
I use the option "-m src=" with all of my jails, where for amd64 the source
tree and object tree resides in /usr/src and /usr/obj respectively from a
buildworld. For poudriere jails intended to be used for cross building, I
checked out the whole CURRENT tree (among 11 and 10) at /pool/CURRENT/src
(or /pool/11-STABLE/src or /pool/10.3-RELEASE/src) to keep the main tree clean
and intact in case I have to patch too much.
The hosting system is a 12-CURRENT as of recent date: 12.0-CURRENT #30 r315698:
Wed Mar 22 06:09:40 CET 2017 amd64.
Building a "buildworld" for the arm64.aarch64 has been performed successfully
env MAKEOBJDIRPREFIX=/pool/11-STABLE/obj SRCCONF=/dev/null \
__MAKE_CONF=/dev/null TARGET=arm64 make -j12 buildworld
After a successful build, there is a object's folder
structure /pool/CURRENT/obj/arm64.aarch/ containing (obviosly?) the world
without a kernel.
Since I use some optimisation flags and special setting in /etc/src.conf
and /etc/make.conf, I needed to neutralise those settings and followed the
examples and ways I've learned from using NanoBSD. Now, I try to install this
world as the base of my arm64.aarch64 jail, which is supposed to build the
ports tree for arm64.aarch64 platforms.
As a prerequisite, I have already installed the most recent port
emulators/qemu-user-static (qemu-user-static-2.8.50.g20170307) and it has been
started as a service, as kldstat seems to indicate:
4 1 0xffffffff81901000 23d0 filemon.ko
5 1 0xffffffff81904000 14fe imgact_binmisc.ko
Well, now I try to install the jail:
poudriere jail -c -j head-aarch64 -a arm64.aarch64 \
-M /pool/poudriere/jails/head-aarch64 -m src=/pool/CURRENT/src -v head
and as a desperate try also with option "-x".
But either way, I fail installing the jail with the error shown above.
Something is missing and I think, the recommendation of setting the
COMPILER_TYPE has a deeper sense here ;-)
I tried to google some advices, but I stumbled only over some "simple and easy"
advices which lead me to the failure seen above. Maybe nullifying the SRCCONF
and __MAKE_CONF isn't a good idea at that point, but I'd like to to await the
Thanks in advance,
More information about the freebsd-questions