Re: poudriere cross-compile problem.

Craig Leres <[email protected]>
Newsgroups gmane.os.freebsd.devel.hackers
Message-ID <[email protected]>
On 4/2/26 21:31, Mark Millard wrote:
> On 4/2/26 14:13, Craig Leres wrote:
>> 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) !!!
> 
> The following may be contributing . . .
> 
> Running a 1600011 poudriere(-devel) jail world on a 1404000 boot kernel
> is not supported: the 1600011 jail may use new/changed 1600011 or
> 15????? kernel functionality/inerfacing that 1404000 kernels do not support.
> 
> Not that you would want to, but: What is supported is to run a 1404000
> poudriere(-devel) jail world on a 1600011 boot kernel. 1600011 has means
> of supporting the older kernels behavior/interfacing for older programs.
> 
> The boot kernel and its vintage is always involved. To run a 1600011
> poudriere(-devel) jail world should normally mean booting 1600011 or
> later kernel --or having a lot of knowledge about compatibility with
> earlier 16000?? kernels for everything you need to have working.
> 
> The official port-package build servers boot 16000?? kernels at this
> point, be that for 13.5, 14.3, 15.0, or main [so: 16.0] jail use. (The
> boot world likely matches the boot kernel, though I've no direct
> evidence of the boot world vintages.)
> 
>>      [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.

Thanks for the response.

> I'm unsure if the above specific message would be a possible result of
> what I referenced earlier above.
> 
> Can you try booting with a 1600011 (or later) kernel, leaving the rest
> the same in order to see if the behavior chnages?
> 
>>      [00:00:02] Cleaning up
>>      [00:00:02] Unmounting file systems
>>      Exiting with status 1

I tried booting this:

     zinc 13 # uname -a
     FreeBSD zinc.ee.lbl.gov 16.0-CURRENT FreeBSD 16.0-CURRENT #0 
main-n284768-e6eba5076929: Mon Mar 30 12:58:15 UTC 2026 
[email protected]:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64

And a built attempt fails differently:

     [00:00:06] Error: Fatal errors encountered gathering ports metadata

I also tried rebuilding the poudriere jail while running 16.0 (no change).

Ignoring the "not supported" warning has worked for me in the past but I 
guess I just need to be patient until I upgrade this server to something 
newer.

		Craig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.