Closed turboproc closed 2 years ago
@fichtner looks like this is the same as the first of above links. Did also a manual build of libunwind master https://github.com/libunwind/libunwind/commit/e07b43c02d5cf1ea060c018fdf2e2ad34b7c7d80 and that seems to run fine. Didn't check all the details but guess that https://github.com/libunwind/libunwind/commit/e07b43c02d5cf1ea060c018fdf2e2ad34b7c7d80 fixed it.
So question is how do we get this in the OPNSense build.
FreeBSD ports maintainer has to include it first. Lately ports submissions and committer activity have declined...
@fichtner , as building in FreeBSD is a kind of new, I solved it for now by creating a small patch file /usr/ports/devel/libunwind/files/patch-include-libunwind-aarch64.h with the following content. This makes sure the commit mentioned above is patched into release 1.6.2.
--- ./include/libunwind-aarch64.h.orig
+++ ./include/libunwind-aarch64.h
@@ -183,7 +183,7 @@ typedef struct unw_tdep_save_loc
}
unw_tdep_save_loc_t;
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
/* On AArch64, we can directly use ucontext_t as the unwind context,
* however, the __reserved struct is quite large: tune it down to only
* the necessary used fields. */
With a succesful build of libunwind, ruby, haproxy and puppet will build as well.
@fichtner can confirm that https://github.com/opnsense/ports/commit/c426581358f90ccec75b04574711f0c6dbb19edf solves the issue. Libunwind building fine now on aarch64. Thnx.
Great, closing then. 😊
Trying to build OPNSense on an aarch64 architecture (native build on a Rock PI 4, RK3399), the build of ruby-27 and puppet7-7.14 fails because the build of libunwind-1.6.2 fails. Details below:
Any clue on what might be happening?