error: must install xorg-macros 1.16.0 or later

XcbUtilsをインストールしようと,autogen.shを実行すると以下のエラーが出た。

configure.ac:10: error: must install xorg-macros 1.16.0 or later before running autoconf/autogen

xorg-macros (util-macros) はローカル (~/.local) にインストールしているので,なぜこのエラーが出るのか不明だった。

そこで,autogen.shの内部で使用している,aclocalコマンドのマニュアルを確認してみた。

Now, the “default” search path on the affected system is

  1. /usr/share/aclocal-1.11/
  2. /usr/share/aclocal/
  3. /usr/local/share/aclocal/

without the need for -I options; -I options can be reserved
for project-specific needs (my-source-dir/m4/), rather than
using it to work around local system-dependent tool installation
directories.

Similarly, dirlist can be handy if you have installed a local
copy of Automake in your account and want aclocal to look for
macros installed at other places on the system.

Modifying the Macro Search Path: ACLOCAL_PATH

The fourth and last mechanism to customize the macro search path is
also the simplest. Any directory included in the colon-separated
environment variable ACLOCAL_PATH is added to the search path
and takes precedence over system directories (including those found via
dirlist), with the exception of the versioned directory
acdir-APIVERSION (see Macro Search Path). However, directories
passed via -I will take precedence over directories in
ACLOCAL_PATH.

Also note that, if the –install option is used, any .m4
file containing a required macro that is found in a directory listed in
ACLOCAL_PATH will be installed locally.
In this case, serial numbers in .m4 are honored too,
see Serials.

Conversely to dirlist, ACLOCAL_PATH is useful if you are
using a global copy of Automake and want aclocal to look for
macros somewhere under your home directory.

6.3.2 Macro Search Path (automake)

aclocalコマンドのサーチパスとして,ACLOCAL_PATH環境変数の設定が必要だったようだ。

-Iオプションを指定しない場合,aclocalはデフォルトで以下のパスを検索する。

  1. /usr/share/aclocal-1.11/
  2. /usr/share/aclocal/
  3. /usr/local/share/aclocal/

自分で上記以外のローカル環境 (~/.local) にaclocalをインストールした場合は,以下の内容を~/.profile~/.bashrcに入れて,ACLOCAL_PATH変数を指定してすればよいだろう。

export ACLOCAL_PATH=~/.local/share/aclocal

コメントを残す

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