configureのAX_CXX_COMPILE_STDCXX_11でエラーが出た時


起きたこと

C++のプロジェクトでconfigureしたらエラーが出た。

./configure: line 4585: syntax error near unexpected token `noext,'
./configure: line 4585: `AX_CXX_COMPILE_STDCXX_11(noext, mandatory)'

今までmakeやらconfigureは適当にやれば適当に動いてくれたので不勉強なままだったからさあ大変。とりあえずエラーメッセージをググる。

解決策

autoconf-archiveを入れる。ここに書いてあった。

Macの場合

brew install autoconf-archive

autoconf-archiveとは?

GNU Autoconf Archive
Autoconfのマクロ集。500個以上のマクロが入っている。

ちなみにGNUには珍しく、Autoconfによって生成されるconfigureファイルのライセンスに関わらず、Autoconf Archiveのマクロを使用できる1。これはAutomakeがソフトウェア開発ツールチェインの中核的位置を占めているため、これらのマクロが商用ソフトウェアにも使われる不利益よりも、幅広く利用可能であることによる利益の方が重要だからである、とのこと。