2010年5月21日金曜日

recfriio, error: ‘condition’ in namespace ‘boost’ does not name a type

recfriio-r4 を HDUS の録画ツールとして使っているのだが、dev-libs/boost-1.41.0-r3 にバージョンをあげてからコンパイル済みバイナリが実行できなくなった。

recfriio: symbol lookup error: recfriio: undefined symbol: _ZN5boost6system18get_posix_categoryEv

ということで、コンパイルし直そうと思ったが次のようなエラーが表示されてしまった。

g++ -O2 -g -Wall -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DB25 -DHDUS -DUDP `pkg-config --cflags glib-2.0`   -c -o IoThread.o IoThread.cpp
In file included from IoThread.cpp:13:
RingBuf.hpp:90: error: ‘condition’ in namespace ‘boost’ does not name a type
RingBuf.hpp: In member function ‘void RingBuf::setReady(T*)’:
RingBuf.hpp:188: error: ‘cond’ was not declared in this scope
RingBuf.hpp: In member function ‘const T* RingBuf::getPopPtr(unsigned int)’:
RingBuf.hpp:233: error: ‘cond’ was not declared in this scope
RingBuf.hpp: In member function ‘void RingBuf::interrupt()’:
RingBuf.hpp:260: error: ‘cond’ was not declared in this scope


外部記憶装置: boost condition ここによると、boost/thread/condition.hpp を include させてあげればよいらしいので、やってみたらうまくいった。

2010年5月5日水曜日

初めての人のためのLISP

「初めての人のためのLISP」という本を職場のLisperからお借りしたのでGW中に読んでみた。
内容としては、LISPの世界を教授と生徒の対話形式で説明していくもの。

ネットワーク屋さんは 3 Minutes Networking を思い浮かべると分かるかもしれない。

あまり実用的な内容ではないかもしれないが、LISPの世界を分かりやすく書いているんだと思う。
自分には1割も理解できなかったが・・・。