ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARC

sudo gem install jekyll安装报错

Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
ERROR: Failed to build gem native extension.
 current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20200103-63706-1n7uc12.rb extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... yes
checking for ffi_call() in -lffi... yes
checking for ffi_closure_alloc()... no
checking for shlwapi.h... no
checking for rb_thread_call_without_gvl()... yes
checking for ruby_native_thread_p()... yes
checking for ruby_thread_has_gvl_p()... yes
creating extconf.h
creating Makefile
To see why this extension failed to compile, please check the mkmf.log which can be found here:
  /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-17/2.3.0/ffi-1.11.3/mkmf.log
current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c
make "DESTDIR=" clean
current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c
make "DESTDIR="
mkdir -p "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c"/libffi-i386; (if [ ! -f "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi"/configure ]; then echo "Running autoreconf for libffi"; cd "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi" && /bin/sh /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/autogen.sh > /dev/null; fi); (if [ ! -f "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c"/libffi-i386/Makefile ]; then echo "Configuring libffi for i386"; cd "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c"/libffi-i386 && env CC=" xcrun clang" CFLAGS="-arch i386 " LDFLAGS="-arch i386" "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --disable-docs --host=i386-apple-darwin > /dev/null; fi); /Library/Developer/CommandLineTools/usr/bin/make -C "/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c"/libffi-i386
Configuring libffi for i386
clang: error: unsupported option '-print-multi-os-directory'
clang: error: no input files
/Library/Developer/CommandLineTools/usr/bin/make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-arch i386  -Wall -fexceptions' 'CXXFLAGS=-g -O2' '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=-arch i386' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=/Library/Developer/CommandLineTools/usr/bin/make' 'MAKEINFO=/bin/sh /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/missing 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=g++' 'LD=/Library/Developer/CommandLineTools/usr/bin/ld' 'NM=nm' '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/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src   -arch i386  -Wall -fexceptions -c -o src/prep_cif.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/prep_cif.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -Wall -fexceptions -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/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/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src   -arch i386  -Wall -fexceptions -c -o src/types.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/types.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -Wall -fexceptions -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/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/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src   -arch i386  -Wall -fexceptions -c -o src/raw_api.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/raw_api.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -Wall -fexceptions -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/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/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src   -arch i386  -Wall -fexceptions -c -o src/java_raw_api.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/java_raw_api.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -Wall -fexceptions -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/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/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src   -arch i386  -Wall -fexceptions -c -o src/closures.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/closures.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -Wall -fexceptions -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/closures.c  -fno-common -DPIC -o src/.libs/closures.o
/bin/sh ./libtool  --tag=CC   --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src   -arch i386  -Wall -fexceptions -c -o src/x86/ffi.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/x86/ffi.c
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -Wall -fexceptions -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/x86/ffi.c  -fno-common -DPIC -o src/x86/.libs/ffi.o
/bin/sh ./libtool    --mode=compile xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src  -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386  -c -o src/x86/sysv.lo /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/x86/sysv.S
libtool: compile:  xcrun clang -DHAVE_CONFIG_H -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -I. -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/include -Iinclude -I/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src -arch i386 -c /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/src/x86/sysv.S  -fno-common -DPIC -o src/x86/.libs/sysv.o
/bin/sh ./libtool  --tag=CC   --mode=link xcrun clang  -arch i386  -Wall -fexceptions  -arch i386 -o libffi_convenience.la  src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo   src/x86/ffi.lo src/x86/sysv.lo
libtool: link: ar cru .libs/libffi_convenience.a 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/x86/.libs/ffi.o src/x86/.libs/sysv.o
libtool: link: ranlib .libs/libffi_convenience.a
libtool: link: ( cd ".libs" && rm -f "libffi_convenience.la" && ln -s "../libffi_convenience.la" "libffi_convenience.la" )
/bin/sh ./libtool  --tag=CC   --mode=link xcrun clang  -arch i386  -Wall -fexceptions -no-undefined -version-info `grep -v '^#' /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c/libffi/libtool-version`   '-arch' 'i386'  -arch i386 -o libffi.la -rpath /usr/local/lib src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo  src/x86/ffi.lo src/x86/sysv.lo
libtool: link:  xcrun clang -dynamiclib  -o .libs/libffi.7.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/x86/.libs/ffi.o src/x86/.libs/sysv.o    -arch i386 -arch i386 -arch i386   -install_name  /usr/local/lib/libffi.7.dylib -compatibility_version 9 -current_version 9.0 -Wl,-single_module
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
Undefined symbols for architecture i386:
  "___x86.get_pc_thunk.bx", referenced from:
      _ffi_call_i386 in sysv.o
      _ffi_closure_raw_SYSV in sysv.o
      _ffi_closure_raw_THISCALL in sysv.o
  "___x86.get_pc_thunk.dx", referenced from:
      _ffi_closure_i386 in sysv.o
      _ffi_closure_STDCALL in sysv.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [libffi.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** ["/Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3/ext/ffi_c"/libffi-i386/.libs/libffi_convenience.a] Error 2
make failed, exit code 2
Gem files will remain installed in /Library/Ruby/Gems/2.3.0/gems/ffi-1.11.3 for inspection.
Results logged to /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-17/2.3.0/ffi-1.11.3/gem_make.out

重新安装ffi 制定版本

google之后找到了答案
1、sudo brew install automake autoconf libtool
2、sudo gem install ffi -v '1.9.21'

终于成功。

发布了58 篇原创文章 · 获赞 9 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/rui888/article/details/103826885