From: Kurt Miller Subject: Re: aarch64 bulk build report To: Thomas Frohwein Cc: phessler@openbsd.org, ports@openbsd.org Date: Sat, 17 Jan 2026 10:58:50 -0500 On Jan 17, 2026, at 9:07 AM, Thomas Frohwein wrote: > > On Fri, 16 Jan 2026 17:25:22 -0700 (MST) > phessler@openbsd.org wrote: > >> bulk build on arm64.ports.openbsd.org >> started on Tue Jan 13 04:33:35 MST 2026 >> finished at Fri Jan 16 17:25:09 MST 2026 >> lasted 3D12h51m >> done with kern.version=OpenBSD 7.8-current (GENERIC.MP) #105: Sun Jan >> 11 16:45:04 MST 2026 >> >> built packages:12584 >> Jan 13:4552 >> Jan 14:292 >> Jan 15:1378 >> Jan 16:6361 >> >> >> critical path missing pkgs: >> http://build-failures.rhaalovely.net/aarch64/2026-01-13/summary.log >> >> build failures: 4 >> http://build-failures.rhaalovely.net/aarch64/2026-01-13/games/stratagus.log >> http://build-failures.rhaalovely.net/aarch64/2026-01-13/graphics/mypaint.log >> http://build-failures.rhaalovely.net/aarch64/2026-01-13/lang/hashlink.log > > Makefile:219: HashLink vm is not supported on arm64, skipping > [...] > Error: /usr/obj/ports/hashlink-1.15pl0/fake-aarch64/usr/local/bin/hl > does not exist > > Upstream decided to refuse building bin/hl on aarch64 in this > non-descriptive commit that seems to be about CI: > > https://github.com/HaxeFoundation/hashlink/commit/f6175ed33326b5909cfb7e8a576f491ecba6041a > > Options: > > 1. If anyone can test if bin/hl works on aarch64 with the diff below, > we can commit this. (see hello world at [1] and compile hashlink with > lang/haxe and `-hl` flag and run as at the top of [2]) > There’s one more place to remove the arm64 in the Makefile: install: - $(UNAME)==Darwin && ${MAKE} uninstall - ifneq ($(ARCH),arm64) +-ifneq ($(ARCH),arm64) mkdir -p $(INSTALL_BIN_DIR) cp hl $(INSTALL_BIN_DIR) -@@ -240,8 +225,10 @@ endif +-endif mkdir -p $(INSTALL_LIB_DIR) cp *.hdll $(INSTALL_LIB_DIR) cp libhl.${LIBEXT} $(INSTALL_LIB_DIR) with that addition it builds ok on aarch64. Not sure I fully understood the test instructions. This command fails: m2$ haxe -hl out/main.c -main Main Called from /usr/obj/ports/haxe-4.3.6/haxe-4.3.6/std/neko/_std/EReg.hx line 205 Uncaught exception - load.c(237) : Failed to load library : regexp.ndll (File not found) Error: Build failed With: m2:$ cat Main.hx /** Multi-line comments for documentation. **/ class Main { static public function main():Void { // Single line comment trace("Hello World"); } } > 2. Disable build on aarch64 completely (BROKEN-aarch64) if little > interest. > > 3. Remove bin/hl from the aarch64 plist, as is how upstream builds it. > I'm not sure however why they feel that the other targets libhl and > libs are ok there. > > (I don't have aarch64 hardware to test myself unfortunately) > > [1] https://haxe.org/manual/introduction-hello-world.html > [2] https://hashlink.haxe.org/ > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/lang/hashlink/Makefile,v > diff -u -p -r1.22 Makefile > --- Makefile 9 Jan 2026 01:50:46 -0000 1.22 > +++ Makefile 17 Jan 2026 14:01:10 -0000 > @@ -8,6 +8,7 @@ COMMENT = virtual machine for Haxe > V = 1.15pl0 > COMMIT = 109f831769ab26a6fa0cf08ef1b926776a77c372 > PKGNAME = hashlink-${V} > +REVISION = 0 > > # commit from 2026-01-05; tagged as 'latest' > DIST_TUPLE += github HaxeFoundation hashlink ${COMMIT} . > Index: patches/patch-Makefile > =================================================================== > RCS file: /cvs/ports/lang/hashlink/patches/patch-Makefile,v > diff -u -p -r1.13 patch-Makefile > --- patches/patch-Makefile 9 Jan 2026 01:50:46 -0000 1.13 > +++ patches/patch-Makefile 17 Jan 2026 14:01:10 -0000 > @@ -5,6 +5,7 @@ remove Linux's 32-/64-bit detection > remove Darwin detection in install target (breaks 'make fake') > build libhl_module.so and install hl/hl_module.h and hl/opcodes.h > install headers (and hlc_main.c) in include/hl/ > +allow regular build on aarch64 > > Index: Makefile > --- Makefile.orig > @@ -73,24 +74,24 @@ Index: Makefile > SDL_LINK_FLAGS = $(shell pkg-config --libs sdl2) > LIBOPENAL = -lopenal > LIBOPENGL = -lGL > -@@ -224,7 +214,7 @@ ifdef DEBUG > +@@ -224,15 +214,10 @@ ifdef DEBUG > CFLAGS += -g > endif > > -all: libhl libs > +-ifeq ($(ARCH),arm64) > +- $(warning HashLink vm is not supported on arm64, skipping) > +-else > +all: libhl libhl_module libs > - ifeq ($(ARCH),arm64) > - $(warning HashLink vm is not supported on arm64, skipping) > - else > -@@ -232,7 +222,6 @@ all: hl > - endif > + all: hl > +-endif > > install: > - $(UNAME)==Darwin && ${MAKE} uninstall > ifneq ($(ARCH),arm64) > mkdir -p $(INSTALL_BIN_DIR) > cp hl $(INSTALL_BIN_DIR) > -@@ -240,8 +229,10 @@ endif > +@@ -240,8 +225,10 @@ endif > mkdir -p $(INSTALL_LIB_DIR) > cp *.hdll $(INSTALL_LIB_DIR) > cp libhl.${LIBEXT} $(INSTALL_LIB_DIR) > @@ -101,7 +102,7 @@ Index: Makefile > > uninstall: > rm -f $(INSTALL_BIN_DIR)/hl $(INSTALL_LIB_DIR)/libhl.${LIBEXT} $(INSTALL_LIB_DIR)/*.hdll > -@@ -250,71 +241,74 @@ uninstall: > +@@ -250,71 +237,74 @@ uninstall: > libs: $(LIBS) > > ./include/pcre/%.o: include/pcre/%.c > @@ -197,7 +198,7 @@ Index: Makefile > > mesa: > (cd libs/mesa && ${MAKE}) > -@@ -387,7 +381,7 @@ codesign_osx: > +@@ -387,7 +377,7 @@ codesign_osx: > .SUFFIXES : .c .o > > .c.o :