Problem with cross-building arm64 on amd64 using poudriere

I've been using poudriere on my amd64 14.0-RELEASE system to cross-build an arm64 ports repository for an offsite Raspberry Pi successfully for years, but last week it suddenly began to get stuck at the repository creation stage.

Code:
[00:03:23] Stopping 1 builders
[00:03:25] Creating pkg repository
[00:03:25] Signing repository with key: /usr/local/openssl/poudriere/xxxxx.key
Creating repository in /tmp/packages:   0%

It doesn't progress beyond the 0% creation point. I have to CTRL-C to exit the build. I've left it on overnight with no progress.

Creating an amd64 repository on the same system works as it always has and doesn't get stuck at 0%.

Anyone else who cross-builds ports seeing this happen lately? I've tried downgrading the version of poudriere from 3.4.1 to 3.4.0, using poudriere-devel, disabling the use of a signing key, and deleting and recreating the arm64 poudriere jail several times, but nothing seems to fix the problem.
 
I am seeing the same behaviour. Qemu is up to date, all other packes are up to date as well. But the repository creation process gets stuck at 0%, and the /tmp/packages/packagesite.yaml file is 0 bytes

Code:
-rw-r--r--  1 root wheel    0B Mar  5 12:47 packagesite.yaml

the logs are not showing any error either

from inside the jail, I can see all the process running for creating the repo

Code:
root   648  0.0  0.0 599148 12760  -  IJ   11:23   0:00.03 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   649  0.0  0.0 599280 15076  -  IJ   11:23   0:00.06 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   650  0.0  0.0 599412 15068  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   651  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   652  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   653  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   654  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   655  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   657  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   660  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   661  0.0  0.0 599412 15096  -  IJ   11:23   0:00.00 /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key (qemu-aarch64-static)
root   662


and from outside it has the qemu on the command line

Code:
root      672    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      673    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      674    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      675    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      676    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      678    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      681    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      682    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      683    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root      684    0.0  0.0 599412 15096  -  IJ   11:23        0:00.00 /usr/local/bin/qemu-aarch64-static /.p/pkg-static repo -o /tmp/packages /packages /tmp/repo.key
root

not sure if it is relevant (or if yes, then why it should be), the host is a VMWare VM with sufficient resources anyway, and the build was working without any issue, the last successful build for me was 22nd Jan 2024

Any thoughts or ideas on what else i can check to determine the cause and fix this is greatly appreciated.

Thanks and regards
SS
 
It's probably a qemu bug. I remember patching poudriere to not use the aarch64 pkg version to create to repository, it was so much faster...
 
Im having the same issue with poudriere-devel-3.4.99.20240122_1on FreeBSD 14.0-RELEASE amd64. Does anyone have a fix for this issue ? Its stuck at the step "Creating repository in /tmp/packages: 0%" when trying to cross-build to armv7. It would be nice to share a step by step tutorial if you have the solutions please :)

Do you think I should install poudriere: 3.4.1_1 instead of the devel version ?
 
Back
Top