memo.xight.org

日々のメモ

Apple Silicon + MacTeX

Summary

$ wget http://www.tug.org/mactex/MacTeX-2020-Universal.pkg
$ pkgutil --expand MacTeX-2020-Universal.pkg mactex
$ pax -rz -f mactex/MacTeX-2020-Universal-Start.pkg/Payload
$ mv usr/local/texlive/2020/bin/custom /usr/local/texlive/2020/bin/


/usr/local/texlive/2020/bin/custom に PATH を通す

path=(
	$path
	/usr/local/texlive/2020/bin/custom(N-/)
)


確認

$ which tex
/usr/local/texlive/2020/bin/custom/tex
$ lipo -archs $(which tex)
x86_64 arm64


Reference

MacTeX - About ARM
http://www.tug.org/mactex/aboutarm.html

via

奥村 晴彦 先生 - macOS - M1 Mac
https://oku.edu.mie-u.ac.jp/~okumura/macosx/m1.html

ruby build時に closure.c がコンパイルできない

Summary

GitHub Pages で利用する ruby 2.7.1 を arm64 でbuildしようとしたら、
closure.c のコンパイル時にエラーが発生。

compiling closure.c
closure.c:264:14: error: implicit declaration of function 'ffi_prep_closure' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
	result = ffi_prep_closure(pcl, cif, callback, (void *)self);
			 ^
1 error generated.
make[2]: *** [closure.o] Error 1
make[1]: *** [ext/fiddle/all] Error 2
make: *** [build-ext] Error 2

インストール

$ git clone https://github.com/postmodern/ruby-install.git
$ cd ruby-install
$ ./bin/ruby-install ruby 2.7.1 -c -- --with-arch=arm64 --prefix=$(rbenv root)/versions/2.7.1-arm64 CFLAGS=-DUSE_FFI_CLOSURE_ALLOC=1


Reference

Andre.Arko.net - 2020-06-30 - Building Ruby on arm64 macOS
https://andre.arko.net/2020/06/30/building-ruby-on-arm64-macos/