[rc-simjp 509] Re: RoboCupRescue環境の構築に関しまして

Back to archive index

Hidehisa Akiyama hideh****@aist*****
2008年 11月 27日 (木) 16:47:37 JST


秋山@産総研です.

Hisayuki Sasaoka wrote:
> さて、今回、キャンプ参加に伴いまして、今更で恐縮なのですが、
> ホームページの方を参考にさせていただき、必要となります
> Rescueの環境構築を進めておりました。ところが、サーバの
> makeで下記のようなエラーに遭遇してしまいました。
> 
> ちなみにこちらの環境は、
> 
>  Ubuntu 8.10
>     g++ (Ubuntu 4.3.2-1ubuntu11) 4.3.2
>     java version "1.5.0_16"
> 
> です。
> 
> 他の皆様はうまくコンパイルできているとのことで、何かこちらの環境が要因
> かとは思われますが、お気づきの点がありましたら、教えていただけますと
> 幸いです。

エラーメッセージによると,レスキューシミュレータがgcc-4.3に対応できて
いないのが原因のようです.gcc-4.3への対応作業は面倒そうなので,gcc-4.2を
インストールしてそちらを使えば良いと思います.
# ソースをちょっと覗いてみましたが,かなり本格的に直さないとダメそう

こちらのubuntu-8.10の環境では,
  g++-4.2
をインストールして,
rescue-0.50.0/programs/Makefile 内の
  export CC=gcc
  export CXX=g++
の部分を,
  export CC=gcc-4.2
  export CXX=g++-4.2
と変更すればコンパイルは通りました(ただし,動作確認はしてません)

ubuntu-8.10は8.04に比べて色々と不安定な印象がありますね.
サッカー,レスキュー含めて,ロボカップ用の環境としては8.04の方が
良いと思います.



> ----コンパイル中のメッセージ--------------------------------
> librescue
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/librescue' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -fPIC  -c -o objects.o objects.cc
> g++ -g -Wall  -pipe -g -Wall  -pipe -fPIC  -c -o error.o error.cc
> g++ -g -Wall  -pipe -g -Wall  -pipe -fPIC  -c -o input.o input.cc
> g++ -g -Wall  -pipe -g -Wall  -pipe -fPIC  -c -o output.o output.cc
> In file included from output.cc:22:
> handy.h:67: error: 'clock_t' in namespace 'std' does not name a type
> output.cc: In member function 'Librescue::Cursor
> Librescue::OutputBuffer::writeString(const char*)':
> output.cc:66: error: 'strlen' was not declared in this scope
> make[1]: *** [output.o] エラー 1
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/librescue' から出ます
> blockadessimulator
> make[1]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/blockadessimulator' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -DNDEBUG -I../librescue  -c -o
> blockade.o blockade.cc
> In file included from ../librescue/connection_manager.h:20,
>                  from ../librescue/simulator.h:24,
>                  from blockade.h:20,
>                  from blockade.cc:18:
> ../librescue/udp.h: In member function 'void
> Librescue::LongUDPConnection::Fragment::fill(Librescue::INT_16,
> Librescue::INT_16, Librescue::INT_16, Librescue::Byte*, int)':
> ../librescue/udp.h:54: error: 'memcpy' was not declared in this scope
> blockade.cc: In member function 'virtual int
> BlockadeSimulator::step(Librescue::INT_32, const
> Librescue::AgentCommandList&, Librescue::ObjectSet&)':
> blockade.cc:63: error: 'sort' was not declared in this scope
> blockade.cc:74: error: 'atoi' was not declared in this scope
> make[1]: *** [blockade.o] エラー 1
> make[1]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/blockadessimulator' から出ます
> collapsesimulator
> make[1]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/collapsesimulator' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -DNDEBUG -I../librescue  -c -o
> main.o main.cc
> In file included from ../librescue/connection_manager.h:20,
>                  from ../librescue/simulator.h:24,
>                  from collapse.h:12,
>                  from main.cc:7:
> ../librescue/udp.h: In member function 'void
> Librescue::LongUDPConnection::Fragment::fill(Librescue::INT_16,
> Librescue::INT_16, Librescue::INT_16, Librescue::Byte*, int)':
> ../librescue/udp.h:54: error: 'memcpy' was not declared in this scope
> make[1]: *** [main.o] エラー 1
> make[1]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/collapsesimulator' から出ます
> firesimulator
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator' に入ります
> /home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/util/Configuration.java:146:
> 警告:この文字は、エンコーディング UTF8 にマップできません。
> 		System.out.println("author: Timo N�ssle\nemail:
> nuess****@infor*****\n");
>                                                   ^
> /home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/simulator/WindShift.java:4:
> 警告:この文字は、エンコーディング UTF8 にマップできません。
>  * @author Timo N�
>                  ^
> /home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer/ViewerFrame.java:401:
> 警告:この文字は、エンコーディング UTF8 にマップできません。
> 		compcon=ComponentFactory.createField(0,360,ComponentFactory.FLOAT,1,"direction","�","wind_direction");
> 
>                           ^
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> 警告 3 個
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/io' に入ります
> 注:UDPIO.java の操作は、未チェックまたは安全ではありません。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/io' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel' に入ります
> make[3]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer'
> に入ります
> BuildingConnectionColorizer.java:9: 警告:この文字は、エンコーディング UTF8 にマップできません。
>  * @author Timo N�
>                  ^
> 警告 1 個
> make[4]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer/monitor'
> に入ります
> make[4]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer/monitor'
> から出ます
> make[4]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer/extinguishManager'
> に入ります
> make[4]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer/extinguishManager'
> から出ます
> make[3]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel/viewer'
> から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/kernel' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/simulator'
> に入ります
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/simulator'
> から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/util' に入ります
> TempView.java:43: 警告:この文字は、エンコーディング UTF8 にマップできません。
> 				g.drawString(""+x*5+"�C",115,255-x);
>                                                      ^
> 警告 1 個
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/util' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/world' に入ります
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator/world' から出ます
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/firesimulator' から出ます
> gis
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/gis' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -DNDEBUG -I../librescue  -c -o
> main.o main.cc
> In file included from ../librescue/connection_manager.h:20,
>                  from main.cc:18:
> ../librescue/udp.h: In member function 'void
> Librescue::LongUDPConnection::Fragment::fill(Librescue::INT_16,
> Librescue::INT_16, Librescue::INT_16, Librescue::Byte*, int)':
> ../librescue/udp.h:54: error: 'memcpy' was not declared in this scope
> main.cc: In function 'void addNewObject(Librescue::Config&,
> Librescue::ObjectPool&, Librescue::RescueObject*)':
> main.cc:64: error: 'srand' was not declared in this scope
> main.cc:69: error: 'rand' was not declared in this scope
> main.cc: In function 'Librescue::INT_32 readInt(FILE*)':
> main.cc:85: error: 'exit' was not declared in this scope
> main.cc:87: error: 'exit' was not declared in this scope
> main.cc:89: error: 'exit' was not declared in this scope
> main.cc:91: error: 'exit' was not declared in this scope
> main.cc: In function 'void readRoads(Librescue::Config&,
> Librescue::ObjectPool&)':
> main.cc:196: error: 'strerror' was not declared in this scope
> main.cc:197: error: 'exit' was not declared in this scope
> main.cc: In function 'void readNodes(Librescue::Config&,
> Librescue::ObjectPool&)':
> main.cc:232: error: 'strerror' was not declared in this scope
> main.cc:233: error: 'exit' was not declared in this scope
> main.cc: In function 'void readBuildings(Librescue::Config&,
> Librescue::ObjectPool&)':
> main.cc:284: error: 'strerror' was not declared in this scope
> main.cc:285: error: 'exit' was not declared in this scope
> main.cc: In function 'void readGisini(Librescue::Config&,
> Librescue::ObjectPool&)':
> main.cc:365: error: 'strerror' was not declared in this scope
> main.cc:366: error: 'exit' was not declared in this scope
> main.cc:425: error: 'exit' was not declared in this scope
> main.cc:433: error: 'exit' was not declared in this scope
> main.cc: In function 'void replaceBuilding(Librescue::INT_32,
> Librescue::Building*, Librescue::ObjectPool&)':
> main.cc:445: error: 'exit' was not declared in this scope
> make[1]: *** [main.o] エラー 1
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/gis' から出ます
> kernel
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/kernel' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -DNDEBUG -I../librescue  -c -o
> kernel.o kernel.cc
> In file included from ../librescue/connection_manager.h:20,
>                  from kernel.h:22,
>                  from kernel.cc:18:
> ../librescue/udp.h: In member function 'void
> Librescue::LongUDPConnection::Fragment::fill(Librescue::INT_16,
> Librescue::INT_16, Librescue::INT_16, Librescue::Byte*, int)':
> ../librescue/udp.h:54: error: 'memcpy' was not declared in this scope
> In file included from kernel.cc:20:
> ../librescue/handy.h: At global scope:
> ../librescue/handy.h:67: error: 'clock_t' in namespace 'std' does not
> name a type
> kernel.cc: In member function 'void Rescue::Kernel::init(int, char**)':
> kernel.cc:41: error: 'strcmp' was not declared in this scope
> kernel.cc:92: error: 'strlen' was not declared in this scope
> kernel.cc: In member function 'void Rescue::Kernel::run()':
> kernel.cc:109: error: 'memset' was not declared in this scope
> kernel.cc: In member function 'void
> Rescue::Kernel::handleChannelCommand(Librescue::ChannelCommand*,
> Librescue::Address&)':
> kernel.cc:679: 警告: 符合付きと符合無しの整数式同士の比較です
> kernel.cc:690: 警告: 符合付きと符合無しの整数式同士の比較です
> kernel.cc: In member function 'bool Rescue::Kernel::canHear(const
> Rescue::Kernel::Agent*, const Librescue::VoiceCommand*)':
> kernel.cc:984: 警告: unused variable 'hearer'
> make[1]: *** [kernel.o] エラー 1
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/kernel' から出ます
> miscsimulator
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/miscsimulator' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -DNDEBUG -I../librescue  -c -o
> main.o main.cc
> In file included from ../librescue/connection_manager.h:20,
>                  from ../librescue/simulator.h:24,
>                  from ../librescue/container.h:22,
>                  from main.cc:17:
> ../librescue/udp.h: In member function 'void
> Librescue::LongUDPConnection::Fragment::fill(Librescue::INT_16,
> Librescue::INT_16, Librescue::INT_16, Librescue::Byte*, int)':
> ../librescue/udp.h:54: error: 'memcpy' was not declared in this scope
> make[1]: *** [main.o] エラー 1
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/miscsimulator' から出ます
> civilian
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/civilian' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe -I../librescue  -c -o civilian.o civilian.cc
> In file included from ../librescue/connection_manager.h:20,
>                  from ../librescue/simulator.h:24,
>                  from ../librescue/container.h:22,
>                  from civilian.h:22,
>                  from civilian.cc:17:
> ../librescue/udp.h: In member function 'void
> Librescue::LongUDPConnection::Fragment::fill(Librescue::INT_16,
> Librescue::INT_16, Librescue::INT_16, Librescue::Byte*, int)':
> ../librescue/udp.h:54: error: 'memcpy' was not declared in this scope
> In file included from civilian.cc:18:
> ../librescue/handy.h: At global scope:
> ../librescue/handy.h:67: error: 'clock_t' in namespace 'std' does not
> name a type
> make[1]: *** [civilian.o] エラー 1
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/civilian' から出ます
> traffic
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/traffic' に入ります
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[2]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/traffic/object' に入ります
> make[2]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/traffic/object' から出ます
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/traffic' から出ます
> viewer
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/viewer' に入ります
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[2]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/viewer/object' に入ります
> make[2]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/viewer/object' から出ます
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/viewer' から出ます
> rescuecore
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore' に入ります
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/objects' に入ります
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/objects' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/commands' に入ります
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/commands' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/tools' に入ります
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[3]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/tools/mapgenerator'
> に入ります
> 注:ScenarioMaker.java は推奨されない API を使用またはオーバーライドしています。
> 注:詳細については、-Xlint:deprecation オプションを指定して再コンパイルしてください。
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[3]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/tools/mapgenerator'
> から出ます
> make[3]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/tools/simulationrunner'
> に入ります
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[3]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/tools/simulationrunner'
> から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/tools' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/debug' に入ります
> 注:Debugger.java の操作は、未チェックまたは安全ではありません。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/debug' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/view' に入ります
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/view' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/sample' に入ります
> 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
> 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/sample' から出ます
> make[2]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/log' に入ります
> make[2]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/log' から出ます
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/event' に入ります
> make[2]: ディレクトリ
> `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore/event' から出ます
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/rescuecore' から出ます
> ticker
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/ticker' に入ります
> g++ -g -Wall  -pipe -g -Wall  -pipe   -c -o main.o main.cc
> g++ -o ticker main.o  -lX11
> make[1]: ディレクトリ `/home/sasa/rc_res9/rescue-0.50.0/programs/ticker' から出ます
> --------------------------------------------------------------------
> _______________________________________________
> Rc-oz-simjp mailing list
> Rc-oz****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/rc-oz-simjp


-- 
 Hidehisa Akiyama
 hideh****@aist*****




Rc-oz-simjp メーリングリストの案内
Back to archive index