この記事について
この記事は自分のLinuxPCにSATySFiを2018年1月に入れてみたときのメモです。
SATySFiのインストールに参考にしたのは公式のREADME-ja.mdです。ほぼこのままになるのでREADME-ja.mdを見ながらやったほうが早いかもしれません。
対象はタイトルの通り
- Ubuntu 18.04.1 LTS
- SATySFi 0.0.3
となります。
準備
まずSATySFiをインストールするための準備をしていきます。
sudo apt-get update
sudo apt-get install build-essential ruby git m4 unzip curl
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
# 以下のコマンドは OPAM がファイルに追記してもよいか聞いてきます。
# 必ず説明を読み,環境変数を適切に設定してください。
# ここで--disable-sandboxingを指定することでOpam2をインストールする。
# これをしないとOCamlを4.06.0に変更できない
opam init --comp 4.06.0 --disable-sandboxing
eval $(opam env)
ocaml --version
# ここでもしバージョンが4.06.0でないなら次のコマンドを打ちます
# もしERRORが起きたら指示通りにopam switch create 4.06.0を打ってください
# このコマンドは時間がかかるかもしれないので気長にお待ちください
opam switch 4.06.0
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
# このコマンドも時間がかかります
opam update
これでSATySFiを入れるための準備は終了です。
SATySFiをインストールする
Githubのリポジトリをクローンで落としてきて、ビルドしてインストールします。
# clone
cd (SATySFiを入れたいフォルダ)
git clone https://github.com/gfngfn/SATySFi.git
cd SATySFi
# build
opam pin add satysfi . # 最後の"."を忘れずに。実行すると大量にインストールが行われます。
opam install satysfi
これでSATySFiのインストールは完了です。試しにsatysfi --help
やsatysfi --version
と入力してみるとSATySFiの情報が色々と出てくるかと思います。(出てこなきゃこれまでのインストールのどこかで失敗しているはず。)
世界への挨拶
git clone
したときのSATySFi/demo
のフォルダごと適当なワークスペースにコピーして中に入ります。そこでsatysfi demo.saty
と入力すると
target file: 'demo.pdf'
! [Error] package file not found:
dist/hash/default-font.satysfi-hash
candidate paths:
/home/(USER_NAME)/.satysfi/dist/hash/default-font.satysfi-hash
/usr/local/share/satysfi/dist/hash/default-font.satysfi-hash
/usr/share/satysfi/dist/hash/default-font.satysfi-hash
というエラーが発生します。このエラーの内容を読んでみるとフォントファイルが~/.satysfi/dist
の下で見つからなかったようなのでここを参考に~/.satysfi
フォルダを作成していきます。.satysfi
についてはこちらを参考にしてください。それでは.satysfi/dist
を用意していきます。
まずフォルダが存在しないのでmkdir ~/.satisfi
としてフォルダを作成します。
そして @na4zagin3 さんにコメントで教えていただいた情報によると、cp -a "$(opam var share)/satysfi/dist" ~/.satysfi
を実行すると、SATySFi本体のビルド中にダウンロードされていたフォントをインストール完了後にopam管理下のディレクトリにコピーされたdistごと~/.satysfi
にコピーしてきます。
再度satysfi demo.saty
を実行してみるとうまく行く…かと思いきやまだ次のエラーがでてきます。
! [Error] satysfi-logo.jpg: No such file or directory
このエラーによるとsatysfi-logo.jpg
が見つからないと言うだけなのでここのsatysfi-logo-rgb.jpg
をsatysfi-logo.jpg
という名前でダウンロードしてきてdemo.saty
と同じフォルダに配置します。
そして何度めかの正直でsatysfi demo.saty
を実行してみるとoutput written on 'demo.pdf'.
と出力されてdemo.saty
と同じフォルダにdemo.pdf
という名前でPDFが吐き出されているはずです。
これでようやく世界に挨拶ができました。
SATySFiのアップデートとアンインストール
再インストール(アップデート)はopam reinstall satysfi
を実行、アンインストールはopam uninstall satysfi
を実行するとできます。
感想
SATySFiをインストールしてみて感じたのはとにかく時間がかかるということのみです。OpamやOCaml、Ocaml4.06.0、Rubyなどをインストールする必要がある為か大量のインストールが発生します。実際Windows XPに入れたUbuntu 18.04.1でのSATySFiのインストールは約3時間かかりました。
この記事はREADME-ja.mdの丸パクリ記事に少しだけのインストールメモとフォントのダウンロードの指定を追記しただけの記事ですが参考になると嬉しいです。