This is a maintainer update. Patch to be attached after bug creation. Please apply with 'git am'. Thanks.
Maintainer informed via mail
Created attachment 244718 [details] Apply with 'git am'
The build of this port fails on armv7 as it tries to link in libatomic, which does not exist. I'll apply a patch to avoid this problem. (libatomic is required on some operating systems and platforms but not on FreeBSD).
(In reply to Robert Clausecker from comment #3) Ah, thanks. Would you have any pointers to guides or notes on cross-compiling ports? I can't find any in the porters handbook, and would like to set up some ARM builds as a measure to prevent this kind of problems in the future.
Unfortunately it's annoying to do. There used to be support for building ports with QEMU through Poudriere, but it appears that qemu-user is currently broken. But maybe it'll work again in the future. What is possible is using QEMU in system emulation mode, but it's very slow. If you care about ARM, get yourself a Raspberry Pi and build test there. Current arm64 FreeBSD can run a 32 bit arm userland in a jail, so build a jail for 32 bit testing.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=48a52b7c645234ad0b6ac4f5a1c3b0f3d5281ca9 commit 48a52b7c645234ad0b6ac4f5a1c3b0f3d5281ca9 Author: Olivier Certner <olce.freebsd@certner.fr> AuthorDate: 2023-09-08 20:41:44 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2023-09-10 16:13:06 +0000 devel/libkiwix: Update to 12.1.0 Notably, a new /nojs endpoint (still leaves much to be desired), and lots of bug fixes, including our local patch for meson that was integrated upstream. More details here: https://github.com/kiwix/libkiwix/releases/tag/12.1.0 PR: 273644 devel/libkiwix/Makefile | 3 +-- devel/libkiwix/distinfo | 6 +++--- devel/libkiwix/files/patch-meson.build | 26 +++++++++++++------------- 3 files changed, 17 insertions(+), 18 deletions(-)
Thank you for your contribution.
(In reply to Robert Clausecker from comment #5) Yes, I may invest in a Raspberry Pi or equivalent at some point. This is going to be enough for small ports such as this one, but will probably be impractical for big ones. A full cross-compiling solution (without any VM such as QEMU) would be much more practical and efficient for the purpose of just testing the build. Granted, it would not work for complex ports that need to build intermediary programs that must then be run themselves as part of the build. Using QEMU would bridge that gap, at the expense of performance if regular compiler invocations are also run by it. Hope to be explore some of the alternatives at some point. (In reply to Robert Clausecker from comment #7) You're welcome, thanks for handling this update in a timely fashion.
(In reply to Olivier Certner from comment #8) I've used an RPi 4 with 8 GB RAM for over a year exclusively for my ports work. It works quite well, even for big ports. Just takes a while to compile them. I recommend using an M.2 SSD in an external USB enclosure as the boot disk. And don't cheap out on it.