Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🛠️ Repo: Cannot (easily) build locally on Apple silicon chip / macOS Ventura 13.2 #833

Open
JoshuaKGoldberg opened this issue Jan 21, 2025 · 0 comments

Comments

@JoshuaKGoldberg
Copy link
Contributor

Overview

I'm on an M1 Mac. Trying to run bundle install --path vendor/bundle gives an error:

An error occurred while installing ffi (1.9.18), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.18' --source 'http://rubygems.org/'` succeeds before bundling.
Full log output from bundle install --path vendor/bundle
joshgoldberg ~/repos/yeoman.io $ bundle install --path vendor/bundle 
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
Fetching gem metadata from http://rubygems.org/.........
Using rake 12.3.0
Using concurrent-ruby 1.0.5
Using i18n 0.9.1
Using minitest 5.11.1
Using thread_safe 0.3.6
Using tzinfo 1.2.4
Using activesupport 4.2.9
Using public_suffix 2.0.5
Using addressable 2.5.2
Using bundler 1.17.2
Using coffee-script-source 1.11.1
Using execjs 2.7.0
Using coffee-script 2.4.1
Using colorator 1.1.0
Using ruby-enum 0.7.1
Using commonmarker 0.17.7.1
Fetching ffi 1.9.18
Installing ffi 1.9.18 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20250121-14157-17myx30.rb extconf.rb
checking for ffi_call() in -lffi... yes
checking for ffi_prep_closure()... no
checking for ffi_raw_call()... yes
checking for ffi_prep_raw_closure()... yes
checking for shlwapi.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... yes
creating extconf.h
creating Makefile

current directory: /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c
make "DESTDIR=" clean

current directory: /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c
make "DESTDIR="
Configuring libffi
clang: error: unsupported option '-print-multi-os-directory'
clang: error: no input files
cd "/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi-universal-darwin22" && /Applications/Xcode.app/Contents/Developer/usr/bin/make
/Applications/Xcode.app/Contents/Developer/usr/bin/make "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=-Wall -fexceptions" "CXXFLAGS=" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644"
"INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=/Applications/Xcode.app/Contents/Developer/usr/bin/make" "MAKEINFO=/bin/sh
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/missing --run makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/bin/sh" "exec_prefix=/usr/local" "infodir=/usr/local/share/info" "libdir=/usr/local/lib"
"mandir=/usr/local/share/man" "prefix=/usr/local" "AR=ar" "AS=as" "CC=xcrun clang" "CXX=c++" "LD=ld" "NM=/usr/bin/nm -B" "RANLIB=ranlib" "DESTDIR=" all-recursive
Making all in include
make[3]: Nothing to be done for `all'.
Making all in testsuite
make[3]: Nothing to be done for `all'.
Making all in man
make[3]: Nothing to be done for `all'.
/bin/sh ./libtool --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I.
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -g  -Wall -fexceptions -c -o src/debug.lo
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/debug.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/debug.c  -fno-common -DPIC -o src/.libs/debug.o
/bin/sh ./libtool --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I.
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -g  -Wall -fexceptions -c -o src/prep_cif.lo
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/prep_cif.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/prep_cif.c  -fno-common -DPIC -o src/.libs/prep_cif.o
/bin/sh ./libtool --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I.
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -g  -Wall -fexceptions -c -o src/types.lo
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/types.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/types.c  -fno-common -DPIC -o src/.libs/types.o
/bin/sh ./libtool --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I.
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -g  -Wall -fexceptions -c -o src/raw_api.lo
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/raw_api.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/raw_api.c  -fno-common -DPIC -o src/.libs/raw_api.o
/bin/sh ./libtool --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I.
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -g  -Wall -fexceptions -c -o src/java_raw_api.lo
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/java_raw_api.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/java_raw_api.c  -fno-common -DPIC -o
src/.libs/java_raw_api.o
/bin/sh ./libtool --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I.
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -g  -Wall -fexceptions -c -o src/closures.lo
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/closures.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/closures.c  -fno-common -DPIC -o src/.libs/closures.o
/bin/sh ./libtool   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi  -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include
-Iinclude -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src  -c -o src/arm/sysv.lo /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -I. -I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/include -Iinclude
-I/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src -c /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S  -fno-common -DPIC -o src/arm/.libs/sysv.o
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:64:1: error: unexpected token at start of statement
@ This selects the minimum architecture level required.
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:137:1: warning: macro defined with named parameters which are not used in macro body, possible positional parameter found in body which will have no effect
.macro ARM_FUNC_START name
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:167:2: error: unexpected token at start of statement
 @ r0: ffi_prep_args
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:168:2: error: unexpected token at start of statement
 @ r1: &ecif
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:169:2: error: unexpected token at start of statement
 @ r2: cif->bytes
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:170:2: error: unexpected token at start of statement
 @ r3: fig->flags
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:171:2: error: unexpected token at start of statement
 @ sp+0: ecif.rvalue
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:173:2: error: unexpected token at start of statement
 @ This assumes we are using gas.
 ^
<instantiation>:3:2: error: unknown directive
 .arm
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:174:1: note: while in macro instantiation
ARM_FUNC_START ffi_call_SYSV
^
<instantiation>:9:2: error: unexpected token at start of statement
 @ .fnstart
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:174:1: note: while in macro instantiation
ARM_FUNC_START ffi_call_SYSV
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:175:2: error: unexpected token at start of statement
 @ Save registers
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:176:21: error: vector register expected
        stmfd sp!, {r0-r3, fp, lr}
                    ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:177:2: error: unexpected token at start of statement
 @ .save {r0-r3, fp, lr}
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:180:2: error: unexpected token at start of statement
 @ .setfp fp, sp
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:182:2: error: unexpected token at start of statement
 @ Make room for all of the new args.
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:183:14: error: expected compatible register, symbol or integer in range [0, 4095]
 sub sp, fp, r2
             ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:185:2: error: unexpected token at start of statement
 @ Place all of the ffi_prep_args in position
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:186:6: error: invalid operand for instruction
 mov r0, sp
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:187:2: error: unexpected token at start of statement
 @ r1 already set
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:189:2: error: unexpected token at start of statement
 @ Call ffi_prep_args(stack, &ecif)
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:192:2: error: unexpected token at start of statement
 @ move first 4 parameters in registers
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:193:13: error: vector register expected
 ldmia sp, {r0-r3}
            ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:195:2: error: unexpected token at start of statement
 @ and adjust stack
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:196:17: error: unexpected token in argument list
 sub lr, fp, sp @ cif->bytes == fp - sp
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:197:15: error: unexpected token in argument list
 ldr ip, [fp] @ load fn() in advance
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:199:2: error: unrecognized instruction mnemonic, did you mean: mov?
 movhs lr, #16
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:202:2: error: unexpected token at start of statement
 @ call (fn) (...)
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:205:2: error: unexpected token at start of statement
 @ Remove the space we pushed for the args
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:208:2: error: unexpected token at start of statement
 @ Load r2 with the pointer to storage for the return value
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:209:6: error: invalid operand for instruction
 ldr r2, [sp, #24]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:211:2: error: unexpected token at start of statement
 @ Load r3 with the return type code
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:212:6: error: invalid operand for instruction
 ldr r3, [sp, #12]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:214:2: error: unexpected token at start of statement
 @ If the return value pointer is NULL, assume no return value.
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:215:6: error: invalid operand for instruction
 cmp r2, #0
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:218:1: error: unexpected token at start of statement
@ return INT
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:219:6: error: invalid operand for instruction
 cmp r3, #1
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:221:8: error: invalid operand for instruction
 cmpne r3, #2
       ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:223:2: error: unrecognized instruction mnemonic, did you mean: str?
 streq r0, [r2]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:226:2: error: unexpected token at start of statement
 @ return INT64
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:227:6: error: invalid operand for instruction
 cmp r3, #12
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:229:8: error: invalid operand for instruction
 cmpne r3, #3
       ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:231:15: error: vector register expected
 stmeqia r2, {r0, r1}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:231:17: error: unknown token in expression
 stmeqia r2, {r0, r1}
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:231:17: error: invalid operand
 stmeqia r2, {r0, r1}
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:251:14: error: vector register expected
 ldmia sp!, {r0-r3,fp, pc}
             ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:255:2: error: unexpected token at start of statement
 @ .fnend
 ^
<instantiation>:3:2: error: unknown directive
 .arm
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:269:1: note: while in macro instantiation
ARM_FUNC_START ffi_closure_SYSV
^
<instantiation>:9:2: error: unexpected token at start of statement
 @ .fnstart
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:269:1: note: while in macro instantiation
ARM_FUNC_START ffi_closure_SYSV
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:270:2: error: unexpected token at start of statement
 @ .pad #16
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:271:6: error: invalid operand for instruction
 add ip, sp, #16
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:272:14: error: vector register expected
 stmfd sp!, {ip, lr}
             ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:272:16: error: unknown token in expression
 stmfd sp!, {ip, lr}
               ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:272:16: error: invalid operand
 stmfd sp!, {ip, lr}
               ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:273:2: error: unexpected token at start of statement
 @ .save {r0, lr}
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:274:6: error: invalid operand for instruction
 add r2, sp, #8
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:275:2: error: unexpected token at start of statement
 @ .pad #16
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:277:6: error: invalid operand for instruction
 str sp, [sp, #8]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:278:6: error: invalid operand for instruction
 add r1, sp, #8
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:280:6: error: invalid operand for instruction
 cmp r0, #1
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:283:6: error: invalid operand for instruction
 cmp r0, #2
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:290:6: error: invalid operand for instruction
 cmp r0, #3
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:297:6: error: invalid operand for instruction
 cmp r0, #3
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:304:6: error: invalid operand for instruction
 cmp r0, #12
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:308:13: error: vector register expected
 ldmfd sp, {sp, pc}
            ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:308:15: error: unknown token in expression
 ldmfd sp, {sp, pc}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:308:15: error: invalid operand
 ldmfd sp, {sp, pc}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:310:6: error: invalid operand for instruction
 ldr r0, [sp]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:313:6: error: invalid operand for instruction
 ldr r0, [sp]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:314:6: error: invalid operand for instruction
 ldr r1, [sp, #4]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:330:2: error: unexpected token at start of statement
 @ .fnend
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:338:2: error: unknown directive
 .fpu vfp
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:340:2: error: unexpected token at start of statement
 @ r0: fn
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:341:2: error: unexpected token at start of statement
 @ r1: &ecif
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:342:2: error: unexpected token at start of statement
 @ r2: cif->bytes
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:343:2: error: unexpected token at start of statement
 @ r3: fig->flags
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:344:2: error: unexpected token at start of statement
 @ sp+0: ecif.rvalue
 ^
<instantiation>:3:2: error: unknown directive
 .arm
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:346:1: note: while in macro instantiation
ARM_FUNC_START ffi_call_VFP
^
<instantiation>:9:2: error: unexpected token at start of statement
 @ .fnstart
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:346:1: note: while in macro instantiation
ARM_FUNC_START ffi_call_VFP
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:347:2: error: unexpected token at start of statement
 @ Save registers
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:348:21: error: vector register expected
        stmfd sp!, {r0-r3, fp, lr}
                    ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:349:2: error: unexpected token at start of statement
 @ .save {r0-r3, fp, lr}
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:351:2: error: unexpected token at start of statement
 @ .setfp fp, sp
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:353:2: error: unexpected token at start of statement
 @ Make room for all of the new args.
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:354:14: error: expected compatible register, symbol or integer in range [0, 4095]
 sub sp, sp, r2
             ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:356:2: error: unexpected token at start of statement
 @ Make room for loading VFP args
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:359:2: error: unexpected token at start of statement
 @ Place all of the ffi_prep_args in position
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:360:6: error: invalid operand for instruction
 mov r0, sp
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:361:2: error: unexpected token at start of statement
 @ r1 already set
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:362:20: error: invalid variant 'VFP'
 sub r2, fp, #64 @ VFP scratch space
                   ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:364:2: error: unexpected token at start of statement
 @ Call ffi_prep_args(stack, &ecif, vfp_space)
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:367:2: error: unexpected token at start of statement
 @ Load VFP register args if needed
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:368:6: error: invalid operand for instruction
 cmp r0, #0
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:371:2: error: unexpected token at start of statement
 @ Load only d0 if possible
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:372:6: error: invalid operand for instruction
 cmp r0, #3
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:373:6: error: invalid operand for instruction
 sub ip, fp, #64
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:374:2: error: unrecognized instruction mnemonic
 flddle d0, [ip]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:375:17: error: vector register expected
 fldmiadgt ip, {d0-d7}
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:378:2: error: unexpected token at start of statement
 @ move first 4 parameters in registers
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:379:13: error: vector register expected
 ldmia sp, {r0-r3}
            ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:381:2: error: unexpected token at start of statement
 @ and adjust stack
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:382:17: error: unexpected token in argument list
 sub lr, ip, sp @ cif->bytes == (fp - 64) - sp
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:383:15: error: unexpected token in argument list
 ldr ip, [fp] @ load fn() in advance
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:385:2: error: unrecognized instruction mnemonic, did you mean: mov?
 movhs lr, #16
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:388:2: error: unexpected token at start of statement
 @ call (fn) (...)
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:391:2: error: unexpected token at start of statement
 @ Remove the space we pushed for the args
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:394:2: error: unexpected token at start of statement
 @ Load r2 with the pointer to storage for
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:395:2: error: unexpected token at start of statement
 @ the return value
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:396:6: error: invalid operand for instruction
 ldr r2, [sp, #24]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:398:2: error: unexpected token at start of statement
 @ Load r3 with the return type code
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:399:6: error: invalid operand for instruction
 ldr r3, [sp, #12]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:401:2: error: unexpected token at start of statement
 @ If the return value pointer is NULL,
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:402:2: error: unexpected token at start of statement
 @ assume no return value.
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:403:6: error: invalid operand for instruction
 cmp r2, #0
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:406:6: error: invalid operand for instruction
 cmp r3, #1
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:407:2: error: unrecognized instruction mnemonic, did you mean: str?
 streq r0, [r2]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:410:6: error: invalid operand for instruction
 cmp r3, #12
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:411:15: error: vector register expected
 stmeqia r2, {r0, r1}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:411:17: error: unknown token in expression
 stmeqia r2, {r0, r1}
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:411:17: error: invalid operand
 stmeqia r2, {r0, r1}
                ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:414:6: error: invalid operand for instruction
 cmp r3, #2
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:415:2: error: unrecognized instruction mnemonic
 fstseq s0, [r2]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:418:6: error: invalid operand for instruction
 cmp r3, #3
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:419:2: error: unrecognized instruction mnemonic
 fstdeq d0, [r2]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:422:6: error: invalid operand for instruction
 cmp r3, #(14 + 1)
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:423:8: error: invalid operand for instruction
 cmpne r3, #(14 + 2)
       ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:424:17: error: vector register expected
 fstmiadeq r2, {d0-d3}
                ^
<instantiation>:5:14: error: vector register expected
 ldmia sp!, {r0-r3,fp, pc}
             ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:427:2: note: while in macro instantiation
 RETLDM "r0-r3,fp"
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:430:2: error: unexpected token at start of statement
 @ .fnend
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:431:9: error: unknown directive
        .size _ffi_call_VFP,.ffi_call_VFP_end-_ffi_call_VFP
        ^
<instantiation>:3:2: error: unknown directive
 .arm
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:434:1: note: while in macro instantiation
ARM_FUNC_START ffi_closure_VFP
^
<instantiation>:9:2: error: unexpected token at start of statement
 @ .fnstart
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:434:1: note: while in macro instantiation
ARM_FUNC_START ffi_closure_VFP
^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:435:16: error: vector register expected
 fstmfdd sp!, {d0-d7}
               ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:436:2: error: unexpected token at start of statement
 @ r0-r3, then d0-d7
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:437:2: error: unexpected token at start of statement
 @ .pad #80
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:438:6: error: invalid operand for instruction
 add ip, sp, #80
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:439:14: error: vector register expected
 stmfd sp!, {ip, lr}
             ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:439:16: error: unknown token in expression
 stmfd sp!, {ip, lr}
               ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:439:16: error: invalid operand
 stmfd sp!, {ip, lr}
               ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:440:2: error: unexpected token at start of statement
 @ .save {r0, lr}
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:441:6: error: invalid operand for instruction
 add r2, sp, #72
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:442:6: error: invalid operand for instruction
 add r3, sp, #8
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:443:2: error: unexpected token at start of statement
 @ .pad #72
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:445:6: error: invalid operand for instruction
 str sp, [sp, #64]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:446:6: error: invalid operand for instruction
 add r1, sp, #64
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:449:6: error: invalid operand for instruction
 cmp r0, #1
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:452:6: error: invalid operand for instruction
 cmp r0, #2
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:455:6: error: invalid operand for instruction
 cmp r0, #3
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:456:8: error: invalid operand for instruction
 cmpne r0, #3
       ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:459:6: error: invalid operand for instruction
 cmp r0, #12
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:462:6: error: invalid operand for instruction
 cmp r0, #(14 + 1)
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:465:6: error: invalid operand for instruction
 cmp r0, #(14 + 2)
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:470:13: error: vector register expected
 ldmfd sp, {sp, pc}
            ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:470:15: error: unknown token in expression
 ldmfd sp, {sp, pc}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:470:15: error: invalid operand
 ldmfd sp, {sp, pc}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:473:2: error: unrecognized instruction mnemonic, did you mean: fmls?
 flds s0, [sp]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:476:2: error: unrecognized instruction mnemonic, did you mean: fadd?
 fldd d0, [sp]
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:479:6: error: invalid operand for instruction
 ldr r0, [sp]
     ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:482:13: error: vector register expected
 ldmia sp, {r0, r1}
            ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:482:15: error: unknown token in expression
 ldmia sp, {r0, r1}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:482:15: error: invalid operand
 ldmia sp, {r0, r1}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:485:15: error: vector register expected
 fldmiad sp, {d0-d1}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:488:15: error: vector register expected
 fldmiad sp, {d0-d3}
              ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:492:2: error: unexpected token at start of statement
 @ .fnend
 ^
/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi/src/arm/sysv.S:493:9: error: unknown directive
        .size _ffi_closure_VFP,.ffi_closure_VFP_end-_ffi_closure_VFP
        ^
make[3]: *** [src/arm/sysv.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** ["/Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18/ext/ffi_c/libffi-universal-darwin22"/.libs/libffi_convenience.a] Error 2

make failed, exit code 2

Gem files will remain installed in /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/gems/ffi-1.9.18 for inspection.
Results logged to /Users/josh/repos/yeoman.io/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-22/2.6.0/ffi-1.9.18/gem_make.out

An error occurred while installing ffi (1.9.18), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.18' --source 'http://rubygems.org/'` succeeds before bundling.

In Gemfile:
  github-pages was resolved to 172, which depends on
    github-pages-health-check was resolved to 1.3.5, which depends on
      typhoeus was resolved to 0.8.0, which depends on
        ethon was resolved to 0.11.0, which depends on
          ffi
joshgoldberg ~/repos/yeoman.io $ 

Running gem install ffi -v '1.9.18' --source 'http://rubygems.org/' -with sudo to fix permissions- on its own yields the same errors.

I haven't worked with Ruby in quite a few years. Is this a silicon/M1 chip issue? An issue with a mismatched version of a system language such as C?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant