そろそろClaspは1.0が出そうだが、着実にバージョンアップが依存ライブラリの方も上がっており、 Claspをビルドする2020-05 - gos-k’s blog 従来の手順をなぞってもビルドできない。
なので再びビルドに挑戦する。
ビルド手順としての主な変更は恐らくLLVM 13に依存ライブラリーが変わったこと。
dockerを立ち上げる。
docker pull ubuntu:impish docker run -it --name roswell-clasp ubuntu:impish
関係ライブラリーをインストールする。
apt update apt install -y sbcl apt install -y git make build-essential curl apt install -y libboost-filesystem-dev libboost-graph-dev libboost-regex-dev libboost-date-time-dev libboost-program-options-dev libboost-system-dev libboost-iostreams-dev apt install -y libgmp-dev libffi-dev zlib1g-dev libelf-dev libncurses-dev libbsd-dev apt install -y llvm-13 clang-13 libclang-13-dev apt install -y python apt install -y wget libgc-dev apt install -y language-pack-en
clasp用のboehm gcをビルドする。
git clone https://github.com/clasp-developers/clasp-boehm cd clasp-boehm mkdir -p /opt/clasp-support make get make build make -C gc-8.0.4 install
claspをビルドする。
git clone https://github.com/clasp-developers/clasp.git cd clasp git checkout 01e77db41ae1927dbe33489a27f78ad38ad5288f cp wscript.config.debian10 wscript.config echo 'INCLUDES = ["/opt/clasp-support/include"]' >> wscript.config echo 'LINKFLAGS = ["-L/opt/clasp-support/lib"]' >> wscript.config ./waf distclean ./waf configure ./waf build_dboehmprecise
実行する。
/build/clasp
../../src/llvmo/llvmoExpose.cc:4978:operator() CLASP_NO_JIT_GDB not defined Adding ObjLinkingLayer plugin for orc::createJITLoaderGDBRegistrar Starting cclasp-boehmprecise-0.4.2-4831-g01e77db41-cst ... loading image... Top level in: #<PROCESS TOP-LEVEL @0x7f5dbbe21f09 (Running)>. COMMON-LISP-USER>
未だにバージョン番号らしきのが0.4.2だが、果たしてバージョンアップされるんだろうか