-
Notifications
You must be signed in to change notification settings - Fork 54
cirrus tests fail on AMD64 Alpine and AMD64 FreeBSD #275
Description
The cirrus tests is managed by
https://github.com/libprima/prima/blob/main/.cirrus.yml
and the runs can be checked below:
https://cirrus-ci.com/github/libprima/prima/main
Status as of 20260222:
-
All tests pass on Debian and Fedora, including both AMD64 and ARM64.
-
cmake_test_script fails on AMD64 FreeBSD with
cmake --build . --target tests [ 57%] Built target primaf [ 65%] Built target primac [ 66%] Building C object c/tests/CMakeFiles/data_c_exe.dir/data.c.o [ 67%] Linking C executable data_c_exe /usr/local/bin/ld: ../libprimac.so: undefined reference to `__gcc_nested_func_ptr_created' /usr/local/bin/ld: ../libprimac.so: undefined reference to `__gcc_nested_func_ptr_deleted'This is probably because "Compiling with -ftrampoline-impl=heap generates calls to
__gcc_nested_func_ptr_createdand__gcc_nested_func_ptr_deletedin order to allocate and deallocate trampoline space on the executable heap. These functions are implemented in libgcc, and will only be provided on specific targets: x86_64 Darwin, x86_64 and aarch64 Linux." (extracted from gcc 16.0.1 documentation https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-ftrampoline-impl) In other words, these functions are not available on FreeBSD. Note that the default compiler on FreeBSD is Clang/LLVM, so we should test FreeBSD with Clang/LLVM instead of gcc, which has been deprecated on FreeBSD since version 10. See https://www.phoronix.com/news/MTE4NDQ, https://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm. -
cmake_test_script fails on AMD64 Alpine when testing example_SOLVER_c and SOLVER_data_c (all the Fortran tests succeed).
The error message is likeProgram received signal SIGABRT, Aborted. __restore_sigs (set=set@entry=0x7fffffffd8a0) at ./arch/x86_64/syscall_arch.h:40 warning: 40 ./arch/x86_64/syscall_arch.h: No such file or directoryOn the other hand, the test works fine on ARM64 Alpine.