Re: poudriere cross-compile problem.

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.hackers
Message-ID <[email protected]>
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.

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
> 
> 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
> 
> 


-- 
===
Mark Millard
marklmi at yahoo.com
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.