FawkesMainThread: [EXCEPTION] Thread ‘ClipsNavGraphThread’ has the NavGraphAspect, but no initiliazer is known.
さて,もいちどFawkes-robotino を使ってみる の作業を進めていて,ベアボーン側のfawkes が起動しないので,そのためのメモです.
FawkesMainThread: [EXCEPTION] Thread ‘ClipsNavGraphThread’ has the NavGraphAspect, but no initiliazer is known
ちなみに,上記エラーを出しているのは,fawkes-robotino/fawkes/src/libs/aspect/manager.cpp の AspectManager::init(Thread *thread) です.
for (i = aspects.begin(); i != aspects.end(); ++i) { if (__inifins.find(*i) == __inifins.end()) { throw CannotInitializeThreadException("Thread '%s' has the %s, " "but no initiliazer is known.", thread->name(), *i);
で,それを呼び出しているのは,おそらく
clips-navgraph/clips_navgraph_thread.h: public fawkes::NavGraphAspect,
です.
とりあえず,manager.cpp の上記のソースの後に,printf(“Thread %s has %s\n”, thread->name(), *i); として正常動作しているスレッドを表示してみます.
Thread ClipsNavGraphThread has LoggingAspect
Thread ClipsNavGraphThread has ConfigurableAspect
とのことです.
これは,clips-navgraph/clips_navgraph_thread.h: のclass ClipsNavGraphThread で書かれている順番に一致しています.
class ClipsNavGraphThread
: public fawkes::Thread,
public fawkes::LoggingAspect,
public fawkes::ConfigurableAspect,
public fawkes::NavGraphAspect,
public fawkes::CLIPSFeature,
public fawkes::CLIPSFeatureAspect,
public fawkes::NavGraph::ChangeListener
{
これの,fawkes::NavGraphAspect のInitiliazer が存在しないって感じなのでしょうか.
もしかして と思い,navgraph を読み込んでから clips-navgraph を読み込んだら,エラーなく通りました.
~/fawkes-robotino/bin/ffplugin -l navgraph ~/fawkes-robotino/bin/ffplugin -l clips-navgraph
というわけで,起動用metaタグを見直したら,間違えていたというオチでした….
コメントを残す