doubleunion / arooo

Membership management for hacker/makerspaces
GNU General Public License v3.0
66 stars 55 forks source link

ffi (1.13.1) doesn't build on arm64; consider upgrading for dev environments? #791

Open ItsElaineTime opened 1 year ago

ItsElaineTime commented 1 year ago

The version of ffi specified in the Gemfile.lock (1.13.1) doesn't build on arm64 (e.g., M1 Macs).

libtool: link: xcrun clang -dynamiclib  -o .libs/libffi.8.dylib  src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/arm/.libs/ffi.o src/arm/.libs/sysv.o      -install_name  /usr/local/lib/libffi.8.dylib -compatibility_version 10 -current_version 10.0 -Wl,-single_module
Undefined symbols for architecture arm64:
  "_ffi_call", referenced from:
      _ffi_raw_call in raw_api.o
      _ffi_java_raw_call in java_raw_api.o
  "_ffi_closure_trampoline_table_page", referenced from:
      _ffi_trampoline_table_alloc in closures.o
  "_ffi_prep_cif_machdep", referenced from:
      _ffi_prep_cif_core in prep_cif.o
  "_ffi_prep_cif_machdep_var", referenced from:
      _ffi_prep_cif_core in prep_cif.o
  "_ffi_prep_closure_loc", referenced from:
      _ffi_prep_closure in prep_cif.o
      _ffi_prep_raw_closure_loc in raw_api.o
      _ffi_prep_java_raw_closure_loc in java_raw_api.o
ld: symbol(s) not found for architecture arm64
ItsElaineTime commented 1 year ago

There might be some hackery to get this working, but maybe we should just upgrade?

1.15.5 builds cleanly, the tests pass, and there doesn't seem to be anything obviously incompatible?