今回は新しい言語にチャレンジ。Juliaの環境を作ってみる。
公式サイト:https://julialang.org/
Docker Hubには、オフィシャルのイメージも公開されている。(Debianベース)
公式サイトでは、バイナリも公開されていて、”It is strongly recommended that the official generic binaries from the downloads page be used to install Julia on Linux and FreeBSD.” ということなので、Linuxではこれを使えば良いらしい。
# wget https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.0-linux-x86_64.tar.gz # tar xvf julia-1.1.0-linux-x86_64.tar.gz # ln -s julia-1.1.0/bin/julia /usr/local/bin/julia # julia /bin/sh: julia: not found
・・・あれ?SBCL(Common Lisp)入れたときと同じ現象が起きている。
- https://qiita.com/MiCHiLU/items/1e80a5325b2746eaf2d4
- https://qiita.com/skame/items/12d12fef0902d162279e
このあたりの情報によると、Alpine(というかBusyBox)のtarがしょぼくて、展開しきれてないファイルがあったりするケースや、ライブラリが足りないケースがあるらしい。
改めて、frolvlad/alpine-glibc をベースにビルド&ランしてみる。が、やっぱりnot found。
念のため、tarで展開したバイナリを直接実行してみる。・・・と、起動できた。リンクの貼り方がマズかっただけのようだ。しかし、glibc入りの方じゃないと、やっぱりnot foundになる。
ということで、最終的には下記のDockerfileとなった。
FROM frolvlad/alpine-glibc WORKDIR /home/julia RUN set -x && \ wget https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.0-linux-x86_64.tar.gz &&\ tar xvf julia-1.1.0-linux-x86_64.tar.gz && \ cd julia-1.1.0 && \ ln -s /home/julia/julia-1.1.0/bin/julia /usr/local/bin/julia CMD ["/bin/sh"]
juliaもターミナルで、単に”julia”と起動すると、SBCL(Common Lisp)と似たような、プロンプト画面になる。
# julia _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 1.1.0 (2019-01-21) _/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release |__/ | julia> println("Hello, World") Hello, World julia> exit(0)
Hello worldもちゃんと実行できました。
タグ:
#Julia