diary/Kojima/2008-02-17
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・bison and flex
Plamo-4.5 な環境の bison は 2.3a,flex は 2.5.34 というバ...
ているのだけど,このバージョンだと libIDL-0.8.9(10) が正...
できない模様.
kojima@athlon64[~/libIDL-0.8.9]% make
bison -y -d -v 2>/dev/null ./parser.y
make: *** [stamp-parser] エラー 1
これだけではよく分からないので,/dev/null へのエラーリダ...
やめると,こんな感じのエラーになっている.
kojima@athlon64[~/libIDL-0.8.9]% bison -y -d -v ./parse...
./parser.y:610.9-10: $$ for the midrule at $6 of `struct...
./parser.y:606.25-618.1: warning: unused value: $3
./parser.y:627.9-10: $$ for the midrule at $10 of `union...
./parser.y:621.25-635.1: warning: unused value: $3
./parser.y:716.25-732.1: warning: unused value: $4
./parser.y:780.25-781.68: warning: unused value: $1
./parser.y:811.25-818.1: warning: unused value: $3
./parser.y:926.25-933.1: warning: unused value: $3
bison の文法なんて知らないぞ,,としばらく悩んだのだけど...
環境なら問題なくビルドできるので,bison を古い 2.0 にして...
通った.
kojima@athlon64[~/libIDL-0.8.9]% bison -y -d -v ./parser.y
conflicts: 23 shift/reduce, 3 reduce/reduce
それで最後まで行けるのかな,と思ったら,今度はリンクの段...
/bin/sh ./libtool --mode=link gcc -g -O2 -o tstidl t...
gcc -g -O2 -o .libs/tstidl tstidl.o ./.libs/libIDL-2.so...
./.libs/libIDL-2.so: undefined reference to `__IDL_cur_t...
./.libs/libIDL-2.so: undefined reference to `__IDL_lex_c...
./.libs/libIDL-2.so: undefined reference to `__IDL_prev_...
./.libs/libIDL-2.so: undefined reference to `__IDL_lex'
./.libs/libIDL-2.so: undefined reference to `__IDL_in'
./.libs/libIDL-2.so: undefined reference to `__IDL_lex_i...
collect2: ld returned 1 exit status
make[2]: *** [tstidl] エラー 1
make[2]: ディレクトリ `/home/kojima/libIDL-0.8.9' から出...
などと言うエラーが発生.これもちゃんと動いている Plamo-4....
したところ,lexer.c が正しく生成されていないことに気づき...
べたら,lexer.c は flex で lexer.l から生成されているので...
flex が怪しいことに.
kojima@athlon64[~/libIDL-0.8.9]% make lexer.c
flex -8 -t ./lexer.l | sed -e 's/yy/__IDL_/g' >lexer.c
./lexer.l:116: bad character: %
./lexer.l:116: unknown error processing section 1
./lexer.l:116: unknown error processing section 1
./lexer.l:116: bad character: 5
./lexer.l:116: bad character: 0
./lexer.l:116: bad character: 0
./lexer.l:116: bad character: 0
こちらも Plamo-4.22 の flex-2.5.4 に下げると,正しい lexe...
リンクの参照も正しく行なわれるようになった.
kojima@athlon64[~/libIDL-0.8.9]% rm lexer.c
kojima@athlon64[~/libIDL-0.8.9]% make lexer.c
flex -8 -t ./lexer.l | sed -e 's/yy/__IDL_/g' >lexer.c
kojima@athlon64[~/libIDL-0.8.9]% make
make all-recursive
make[1]: ディレクトリ `/home/kojima/libIDL-0.8.9' に入り...
...
/bin/sh ./libtool --mode=link gcc -g -O2 -o libIDL-2....
rm -fr .libs/libIDL-2.a .libs/libIDL-2.la .libs/libIDL-...
gcc -shared .libs/parser.o .libs/lexer.o .libs/ns.o .li...
(cd .libs && rm -f libIDL-2.so.0 && ln -s libIDL-2.so.0....
(cd .libs && rm -f libIDL-2.so && ln -s libIDL-2.so.0.0....
ar cru .libs/libIDL-2.a parser.o lexer.o ns.o util.o
ranlib .libs/libIDL-2.a
creating libIDL-2.la
(cd .libs && rm -f libIDL-2.la && ln -s ../libIDL-2.la l...
/bin/sh ./libtool --mode=link gcc -g -O2 -o tstidl t...
gcc -g -O2 -o .libs/tstidl tstidl.o ./.libs/libIDL-2.so...
creating tstidl
make[2]: ディレクトリ `/home/kojima/libIDL-0.8.9' から出...
結論としては,bison,flex の新しいのに libIDL の文法記述...
い,ということになるのだろうけど,確かに lexer.l とかを見...
2003/05/09 だから,かなり古い感じ.このあたり,必ずしも新...
わけではないことはバザールモデルの世界で要注意なところだ...
-脊髄反射的にFedoraを見に行ってしまう。現在qvbannerの暴走...
-たしかにlibIDL-0.8.10も同様でしたがなんとなく動きがおか...
-lfs構築中に同じエラーでハマりましたが、flex 2.5.35にupda...
#comment
終了行:
[[diary/Kojima]]
・bison and flex
Plamo-4.5 な環境の bison は 2.3a,flex は 2.5.34 というバ...
ているのだけど,このバージョンだと libIDL-0.8.9(10) が正...
できない模様.
kojima@athlon64[~/libIDL-0.8.9]% make
bison -y -d -v 2>/dev/null ./parser.y
make: *** [stamp-parser] エラー 1
これだけではよく分からないので,/dev/null へのエラーリダ...
やめると,こんな感じのエラーになっている.
kojima@athlon64[~/libIDL-0.8.9]% bison -y -d -v ./parse...
./parser.y:610.9-10: $$ for the midrule at $6 of `struct...
./parser.y:606.25-618.1: warning: unused value: $3
./parser.y:627.9-10: $$ for the midrule at $10 of `union...
./parser.y:621.25-635.1: warning: unused value: $3
./parser.y:716.25-732.1: warning: unused value: $4
./parser.y:780.25-781.68: warning: unused value: $1
./parser.y:811.25-818.1: warning: unused value: $3
./parser.y:926.25-933.1: warning: unused value: $3
bison の文法なんて知らないぞ,,としばらく悩んだのだけど...
環境なら問題なくビルドできるので,bison を古い 2.0 にして...
通った.
kojima@athlon64[~/libIDL-0.8.9]% bison -y -d -v ./parser.y
conflicts: 23 shift/reduce, 3 reduce/reduce
それで最後まで行けるのかな,と思ったら,今度はリンクの段...
/bin/sh ./libtool --mode=link gcc -g -O2 -o tstidl t...
gcc -g -O2 -o .libs/tstidl tstidl.o ./.libs/libIDL-2.so...
./.libs/libIDL-2.so: undefined reference to `__IDL_cur_t...
./.libs/libIDL-2.so: undefined reference to `__IDL_lex_c...
./.libs/libIDL-2.so: undefined reference to `__IDL_prev_...
./.libs/libIDL-2.so: undefined reference to `__IDL_lex'
./.libs/libIDL-2.so: undefined reference to `__IDL_in'
./.libs/libIDL-2.so: undefined reference to `__IDL_lex_i...
collect2: ld returned 1 exit status
make[2]: *** [tstidl] エラー 1
make[2]: ディレクトリ `/home/kojima/libIDL-0.8.9' から出...
などと言うエラーが発生.これもちゃんと動いている Plamo-4....
したところ,lexer.c が正しく生成されていないことに気づき...
べたら,lexer.c は flex で lexer.l から生成されているので...
flex が怪しいことに.
kojima@athlon64[~/libIDL-0.8.9]% make lexer.c
flex -8 -t ./lexer.l | sed -e 's/yy/__IDL_/g' >lexer.c
./lexer.l:116: bad character: %
./lexer.l:116: unknown error processing section 1
./lexer.l:116: unknown error processing section 1
./lexer.l:116: bad character: 5
./lexer.l:116: bad character: 0
./lexer.l:116: bad character: 0
./lexer.l:116: bad character: 0
こちらも Plamo-4.22 の flex-2.5.4 に下げると,正しい lexe...
リンクの参照も正しく行なわれるようになった.
kojima@athlon64[~/libIDL-0.8.9]% rm lexer.c
kojima@athlon64[~/libIDL-0.8.9]% make lexer.c
flex -8 -t ./lexer.l | sed -e 's/yy/__IDL_/g' >lexer.c
kojima@athlon64[~/libIDL-0.8.9]% make
make all-recursive
make[1]: ディレクトリ `/home/kojima/libIDL-0.8.9' に入り...
...
/bin/sh ./libtool --mode=link gcc -g -O2 -o libIDL-2....
rm -fr .libs/libIDL-2.a .libs/libIDL-2.la .libs/libIDL-...
gcc -shared .libs/parser.o .libs/lexer.o .libs/ns.o .li...
(cd .libs && rm -f libIDL-2.so.0 && ln -s libIDL-2.so.0....
(cd .libs && rm -f libIDL-2.so && ln -s libIDL-2.so.0.0....
ar cru .libs/libIDL-2.a parser.o lexer.o ns.o util.o
ranlib .libs/libIDL-2.a
creating libIDL-2.la
(cd .libs && rm -f libIDL-2.la && ln -s ../libIDL-2.la l...
/bin/sh ./libtool --mode=link gcc -g -O2 -o tstidl t...
gcc -g -O2 -o .libs/tstidl tstidl.o ./.libs/libIDL-2.so...
creating tstidl
make[2]: ディレクトリ `/home/kojima/libIDL-0.8.9' から出...
結論としては,bison,flex の新しいのに libIDL の文法記述...
い,ということになるのだろうけど,確かに lexer.l とかを見...
2003/05/09 だから,かなり古い感じ.このあたり,必ずしも新...
わけではないことはバザールモデルの世界で要注意なところだ...
-脊髄反射的にFedoraを見に行ってしまう。現在qvbannerの暴走...
-たしかにlibIDL-0.8.10も同様でしたがなんとなく動きがおか...
-lfs構築中に同じエラーでハマりましたが、flex 2.5.35にupda...
#comment
ページ名: