GNU Libtoolのインストール

GNU Autoconfとともに,ソフトウェアのリポジトリーからのビルドで必要な場合があるGNU Libtoolをソースコードからインストールする。

インストール情報
項目 説明
配布元
リポジトリー
手順
依存情報
依存先 (必須)
依存先 (任意)
  • リポジトリーからのビルドに必要: Autoconf 2.62+, Automake 1.11.1+, Help2man 1.29+, XZ 4.999.8beta+
依存元
インストール手順
sh -eux <<-"EOT"
LOCAL=~/.local J=$(grep -cs '^processor' /proc/cpuinfo || echo 2)
PKG=libtool VER=2.4.6 TAG=v$VER
mkdir -p "$LOCAL/src"; cd "$LOCAL/src"

if false command -v git >/dev/null; then
  [ -e $PKG ] || git clone --depth 1 git://git.savannah.gnu.org/$PKG.git $PKG
  cd $PKG
  git reset --hard; git clean -df; git fetch --depth 1 origin tag $TAG; git checkout $TAG
  git submodule update --init --progress --depth 2500  # required than 2000+.
  ./bootstrap
else
  [ -e $PKG-$VER ] || wget http://ftp.jaist.ac.jp/pub/GNU/$PKG/$PKG-$VER.tar.xz
  tar -xf $PKG-$VER.*
  cd $PKG-$VER
fi

make -kj $J distclean clean || :
./configure --prefix="$LOCAL/stow/$PKG-$VER"
make -j $J; make -j $J check; make -j $J install

cd "$LOCAL/stow"
stow --ignore=dir -S $PKG-$VER -D $PKG-[0-9]*
EOT
インストール例
日付 バージョン OS 依存関係
2019-03-31 2.4.6 Ubuntu 18.04 GNU Make 4.2.1, GCC 7.4.0

配布用のtarファイルからのビルドは問題なく成功した。しかし,リポジトリーからのビルドは問題が起き,結局解決できなかった。解決できなかったところを記録として記す。

まず,./bootstrapの実行時に以下のエラーが出た。

error: Server does not allow request for unadvertised object 342d9f09f2bab9a0380faa88787147bac4d48278
Fetched in submodule path 'gnulib', but it did not contain 342d9f09f2bab9a0380faa88787147bac4d48278. Direct fetching of that commit failed.
bootstrap: running: gnulib/gnulib-tool --no-changelog --avoid=dummy --libtool --macro-prefix=GL --aux-dir=build-aux --m4-base=m4 --local-dir=gl --symlink --import announce-gen bootstrap...
gnulib/gnulib-tool: *** minimum supported autoconf version is 2.63. Try adding AC_PREREQ([2.63]) to your configure.ac.
gnulib/gnulib-tool: *** Stop.

これは,GNU M4のインストール時に発生したものと同じ原因のエラーだ。そのため,./bootstrap実行前に必要なコミットが含まれるように,リポジトリーの履歴をダウンロードすることで対応できた。

問題はmake check時のテストの失敗だ。2.4.6をリポジトリーからビルド後,make checkで以下のテストが失敗した。

 14: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS    FAILED (libtoolize.at:782)

この解決策がわからず,リポジトリーからのビルドを断念した。

tarファイルからインストールできれば,実用上は問題ない。ただし,気持ち悪いので,解決策がわかり次第,手順を更新する。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です