2009年11月16日月曜日

【autotools】4(US 5) 最小規模のGNU Autotoolsプロジェクト


** 4(US 5) A Minimal GNU Autotools Project
- 書籍ではconfigure.inだがソースはconfigure.ac。
- 現在はconfigure.acが推奨されているらしい。.inと
いう拡張子がautoconfと紐付いていることを明示し
てないかららしい。

- お、書籍にあるような"not found"は出てこない。

foonly-2.0 $ automake --add-missing
configure.ac:7: installing `./install-sh'
configure.ac:7: installing `./missing'
Makefile.am: installing `./depcomp'
configure.ac: installing `./ylwrap'
foonly-2.0 $

- しかも、'make all'が失敗する。

foonly-2.0 $ make all
gcc -DPACKAGE_NAME=\"foonly\" -DPACKAGE_TARNAME=\"foonly\" -DPACKAGE_VERSION=\"2.0\" -DPACKAGE_STRING=\"foonly\ 2.0\" -DPACKAGE_BUGREPORT=\"gary@gnu.org\" -DPACKAGE=\"foonly\" -DV$
parser.y: In function ‘yyerror’:
parser.y:7: 警告: incompatible implicit declaration of built-in function ‘fprintf’
parser.y:7: error: ‘stderr’ undeclared (first use in this function)
parser.y:7: error: (Each undeclared identifier is reported only once
parser.y:7: error: for each function it appears in.)
make: *** [parser.o] エラー 1
foonly-2.0 $

- これ、ヘッダが読めてないのかな? 原因はわからな
いが、CLで言えば、シンボルの検索に失敗している
のだろう。
- しばらくconfigure.logなどを探ってみるが、どこの
誰がこのヘッダの面倒をみるべきで、それをやって
いないのかがわからない。
- そもそも、lex/yacc(flex/bison)を知らない。
- しょうがない、まずそっちを勉強しよう。。。

スタックが深くなってきた。
Emacs22 -> Debian -> make -> Autotools -> lex/yacc(flex/bison)
戻れるかなぁ。

こつこつ。

0 件のコメント: