ユーザ用ツール

サイト用ツール


サイドバー


最近の更新




タグ一覧

タグ#
1
1
1
1
1
1
1
1
1
1
tools:flex:インストール:2.6.4

Flexをソースからのインストール

依存ライブラリ

インストール手順

$ wget https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
$ tar xvf flex-2.6.4.tar.gz
$ cd flex-2.6.4/
$ LIBTOOLIZE=/opt/libtool/2.4.6/bin/libtoolize \
  PATH=/opt/automake/1.16.3/bin:/opt/gettext/0.21/bin:/opt/autoconf/2.69/bin:/opt/m4/1.4.18/bin:${PATH} \
  ./autogen.sh 
$ ./configure \
  PATH=/opt/indent/2.2.12/bin:/opt/texinfo/6.7/bin:/opt/help2man/1.47.16/bin:/opt/bison/3.7.4/bin:/opt/m4/1.4.18/bin:${PATH} \
  --prefix=/opt/flex/2.6.4 \
  CFLAGS='-g -O2 -D_GNU_SOURCE'
$ make
$ make install

環境変数

$ export PATH=/opt/flex/2.6.4/bin:${PATH}
$ export LD_LIBRARY_PATH=/opt/flex/2.6.4/lib:${LD_LIBRARY_PATH}
$ export C_INCLUDE_PATH=/opt/flex/2.6.4/include:${C_INCLUDE_PATH}
$ export CPLUS_INCLUDE_PATH=/opt/flex/2.6.4/include:${CPLUS_INCLUDE_PATH}

スクリプト

#!/bin/bash

#############################################################
inst_ver=2.6.4
inst_target=/opt/flex/${inst_ver}
arch_file="flex-"${inst_ver}".tar.gz"
target_web="https://github.com/westes/flex/releases/download/v2.6.4/"${arch_file}
working_dir=$(cd $(dirname $0); pwd)/flex-${inst_ver}
m4_path=/opt/m4/1.4.18/bin
libtool_path=/opt/libtool/2.4.6/bin/libtoolize
autoconf_path=/opt/autoconf/2.69/bin
gettext_path=/opt/gettext/0.21/bin
automake_path=/opt/automake/1.16.3/bin
bison_path=/opt/bison/3.7.4/bin
help2man_path=/opt/help2man/1.47.16/bin
texinfo_path=/opt/texinfo/6.7/bin
indent_path=/opt/indent/2.2.12/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    
if [ ! -f ${libtool_path} ];
then
    echo "libtool is not exist"
    exit 1
fi
if [ ! -d ${autoconf_path} ];
then
    echo "autoconf_path is not exist"
    exit 1
fi
if [ ! -d ${gettext_path} ];
then
    echo "gettext_path is not exist"
    exit 1
fi
if [ ! -d ${automake_path} ];
then
    echo "automake_path 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}
LIBTOOLIZE=${libtool_path} PATH=${automake_path}:${gettext_path}:${autoconf_path}:${m4_path:}${PATH} ./autogen.sh 
./configure PATH=${indent_path}:${texinfo_path}:${help2man_path}:${bison_path}:${m4_path}:${PATH} --prefix=/opt/flex/2.6.4 CFLAGS='-g -O2 -D_GNU_SOURCE'
make
make install
tools/flex/インストール/2.6.4.txt · 最終更新: 2021/01/14 07:50 by michiya