====== Bisonをソースからインストール ====== ===== 依存ライブラリ ===== * [[tools:m4:インストール:インストール|m4]] ===== 手順 ===== $ wget https://ftp.gnu.org/gnu/bison/bison-3.7.4.tar.gz $ tar xvf bison-3.7.4.tar.gz $ cd bison-3.7.4/ $ mkdir build $ cd build $ PATH=/opt/m4/1.4.18/bin:${PATH} \ ../configure --prefix=/opt/bison/3.7.4 $ make $ make install ===== 環境変数 ===== $ export PATH=/opt/bison/3.7.4/bin:${PATH} $ export LD_LIBRARY_PATH=/opt/bison/3.7.4/lib:${LD_LIBRARY_PATH} ===== スクリプト ===== #!/bin/bash ############################################################# inst_ver=3.7.4 inst_target=/opt/bison/${inst_ver} arch_file="bison-"${inst_ver}".tar.gz" target_web="https://ftp.gnu.org/gnu/bison/"${arch_file} working_dir=$(cd $(dirname $0); pwd)/bison-${inst_ver} m4_path=/opt/m4/1.4.18/bin ############################################################# if [ -d ${inst_target} ]; then echo "${inst_target} is already exist" exit 0 fi if [ ! -d ${m4_path} ]; then echo "m4 is not exist" exit 1 fi mkdir -p ${inst_target} if [ $? -ne 0 ]; then echo "You do not have write permission on "${inst_target}"." echo "Scipt is aborted." exit 1 fi rm -rf ${arch_file} ${working_dir} wget ${target_web} if [ $? -ne 0 ]; then echo "command is failed" echo "wget ${target_web}" exit 1 fi mkdir ${working_dir} tar xvf ${arch_file} -C ${working_dir} --strip-components 1 cd ${working_dir} mkdir -p build cd build PATH=${m4_path}:${PATH} ../configure --prefix=${inst_target} make make install