poudriere cross-compile problem.
Craig Leres <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.hackers |
|---|---|
| Message-ID | <[email protected]> |
In the past I've used poudriere on an amd64 host (14.4) to build
packages for my pfsense box (arm64.aarch64). In order to use the same
git hash as netgate, I build my poudriere jails from a local source
tree, e.g:
zfs create -o mountpoint=/usr/src/16-CURRENT -o compress=lz4
tank/16-CURRENT
cd /usr/src
git clone https://git.freebsd.org/src.git 16-CURRENT
cd 16-CURRENT
git checkout c215eef34550
poudriere jail -x -c -j pfsense2607 -a arm64.aarch64 -m
src=/usr/src/16-CURRENT -b
This workflow was briefly broken, for example to build with 44f3e9f7f6c9
you had to apply these changes:
https://cgit.freebsd.org/src/patch/?id=8d5a11cd0137d3ad70f6b06e063ea91a776d510a
https://cgit.freebsd.org/src/patch/?id=38e5564ecef53064c984d086a040c01100023f40
It's my understanding that everything should be working again but I'm
not finding that to be the case. When I try to build a package with this
newly built jail I see:
zinc 117 # poudriere bulk -c -j pfsense2607 -p pfsense ports-mgmt/pkg
[00:00:00] Cross-building ports for arm64.aarch64 on amd64 requires
QEMU
[00:00:00] Creating the reference jail... done
[00:00:01] Warning: !!! Jail is newer than host. (Jail: 1600011,
Host: 1404000) !!!
[00:00:01] Warning: This is not supported.
[00:00:01] Warning: Host kernel must be same or newer than jail.
[00:00:01] Warning: Expect build failures.
[00:00:02] Mounting system devices for pfsense2607-pfsense
[00:00:02] Warning: Using packages from previously failed, or
uncommitted, build:
/usr/local/poudriere/data/packages/pfsense2607-pfsense/.building
[00:00:02] Mounting ccache from: /var/cache/ccache
[00:00:02] Mounting ports from: /usr/local/poudriere/ports/pfsense
[00:00:02] Mounting packages from:
/usr/local/poudriere/data/packages/pfsense2607-pfsense
[00:00:02] Mounting distfiles from: /usr/ports/distfiles
[00:00:02] Copying /var/db/ports from:
/usr/local/etc/poudriere.d/pfsense-options
[00:00:02] Setting up native-xtools environment in jail... done
[00:00:02] Raising MAX_EXECUTION_TIME and NOHANG_TIME for QEMU from
QEMU_ values
[00:00:02] Copying latest version of the emulator from:
/usr/local/bin/qemu-aarch64-static
[00:00:02] Appending to make.conf:
/usr/local/etc/poudriere.d/pfsense-make.conf
/etc/resolv.conf ->
/usr/local/poudriere/data/.m/pfsense2607-pfsense/ref/etc/resolv.conf
[00:00:02] Starting jail pfsense2607-pfsense
[00:00:02] Error: Unable to execute id(1) in jail. Emulation or ABI
wrong.
[00:00:02] Cleaning up
[00:00:02] Unmounting file systems
Exiting with status 1
However the older jails still work. This makes me suspect native-xtools
is still not quite right (or something else has changed).
Any hints?
Craig