2025-11-21 programming
Risa/Asirのインストール Risa Asir Install
Risa/Asirのインストール解説 Risa/Asirのインストール解説
広告
Advertisement
Risa/AsirのインストールInstallation of Risa/Asir
Risa/Asirをインストールしようと思い, この記事を参考にしたが, 色々パッケージが足りなかったため追加したDockerfileを公開する.
DockerfileDockerfile
FROM ubuntu:latest
ENV DEBIAN_FRONTEND=noninteractive
ENV CPPFLAGS="-I/usr/include/tirpc"
ENV LDFLAGS="-ltirpc"
RUN apt-get update && \
apt-get install -y \
build-essential \
automake \
autoconf \
bison \
flex \
libtool \
pkg-config \
wget \
make \
file \
libtirpc-dev \
libgmp-dev \
libmpfr-dev \
libmpc-dev \
libx11-dev \
libxext-dev \
libxmu-dev \
libxaw7-dev \
libice-dev \
libsm-dev \
libncurses-dev \
perl \
texinfo \
sharutils \
latex2html \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /
RUN wget https://www.math.kobe-u.ac.jp/pub/OpenXM/head/openxm-head.tar.gz -O openxm-head.tar.gz && \
tar -xzf openxm-head.tar.gz && \
rm openxm-head.tar.gz
WORKDIR /OpenXM/src
RUN make
RUN make install
WORKDIR /OpenXM/rc
RUN make install || true
CMD ["/bin/bash"]
なぜ失敗するかWhy failure
rpc/rpc.hが glibc から消えている- 古い
asir2000のソースは<rpc/rpc.h>に依存しているが, 最近のUbuntuではglibcからONC RPCが削除されている. - そのため, 元記事どおりにパッケージを入れてもヘッダが見つからず,
fatal error: rpc/rpc.h: No such file or directoryでコンパイルが止まる.
- 対策として,
libtirpc-devを入れた上でCPPFLAGS="-I/usr/include/tirpc" LDFLAGS="-ltirpc"を環境変数として設定し,
rpc/rpc.hをtirpc越しに参照できるようにしている.
- 古い
- OpenXMのソースが想定している古いUnixツールが抜けている
- OpenXMは各種の
configure/makeの内部で, 以下のような古いツールやドキュメント系コマンドに依存している:file(/usr/bin/file) … configure の判定に使用texinfo… info ドキュメント生成sharutils… uuencode / shar 展開latex2html… LaTeX 文書から HTML を作るスクリプト
- これらが無いと
configureが途中で失敗したり(特にasir-doc,gnuplot周り), その後のmake allが連鎖的に落ちる. - 上のDockerfileではこれらを明示的に
apt-get installすることで, OpenXMの古いビルドスクリプトの前提をすべて満たすようにしている.
- OpenXMは各種の
- X11 + 数学ライブラリの開発パッケージが不足している
asir2018や gnuplot 連携部分は, X11 関連と多倍長演算ライブラリに強く依存する:libx11-dev,libxext-dev,libxmu-dev,libxaw7-dev,libice-dev,libsm-devlibgmp-dev,libmpfr-dev,libmpc-dev
- これらが無い状態だと,
pariやasir2018のリンク時に未解決シンボルやヘッダ欠落で失敗する. - そのため, X11 系と GMP/MPFR/MPC の dev パッケージをまとめて入れて,
pari・gmp・asir2018のビルドが通るようにしている.
議論やフィードバックは nakano.ryunosuke.i3[at]elms.hokudai.ac.jp まで.
Feedback and discussion: nakano.ryunosuke.i3[at]elms.hokudai.ac.jp.
この記事を共有する Share this note
広告
Advertisement