| Tarek Taha :: Forums :: Sofware Support :: MRICP |
|
<< Previous thread | Next thread >> |
| Compilation errors | ||
|
Moderators: Tarek Taha, Gloden Wing
|
| Author | Post | |||
| Yasir |
|
|||
![]() Registered Member #43
Joined: Wed Jul 29 2009, 12:13PMPosts: 2 |
Hi, I downloaded MRICP 2.0 from your website, extracted it and compiled it. But it gave this list of errors: home(abc/downloads/MRICP 2.0$ make echo /lib/libplayerclient.a /lib/libplayerclient.a g++ -Wall -fpic -g3 `pkg-config --cflags gtk+-2.0 playercore playerc++` -c src/*.cpp -Iinclude -I/usr/local/include -I/usr/local/include/player src/mricp_driver.cpp: In member function ‘int MrIcpDriver::SetupLaser(int)’: src/mricp_driver.cpp:597: error: ‘struct player_pose3d_t’ has no member named ‘pa’ src/mricp_driver.cpp: In member function ‘int MrIcpDriver::HandleConfigs(MessageQueue*, player_msghdr*, void*)’: src/mricp_driver.cpp:817: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:817: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:817: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:817: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:817: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:817: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:817: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:817: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:824: error: ‘struct player_pose3d_t’ has no member named ‘pa’ src/mricp_driver.cpp:828: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:828: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:828: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:828: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:828: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:828: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:828: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:828: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:841: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:841: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:841: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:841: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:841: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:841: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:841: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:841: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:852: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:852: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:852: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:852: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:865: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:865: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:865: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:865: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:865: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:865: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:865: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:865: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp: In member function ‘int MrIcpDriver::HandleCommands(MessageQueue*, player_msghdr*, void*)’: src/mricp_driver.cpp:903: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:903: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:903: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:903: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:903: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:903: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:903: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:903: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp: In member function ‘int MrIcpDriver::ProcessMapInfoReq(MessageQueue*, player_msghdr*, void*)’: src/mricp_driver.cpp:929: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:929: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:929: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:929: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:929: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:929: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:929: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:929: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp: In member function ‘int MrIcpDriver::ProcessMapDataReq(MessageQueue*, player_msghdr*, void*)’: src/mricp_driver.cpp:1008: error: ‘PLAYER_MAP_MAX_TILE_SIZE’ was not declared in this scope src/mricp_driver.cpp:1064: error: invalid conversion from ‘MessageQueue*’ to ‘uint8_t’ src/mricp_driver.cpp:1064: error: initializing argument 2 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:1064: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:1064: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:1064: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:1064: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:1064: error: invalid conversion from ‘size_t’ to ‘double*’ src/mricp_driver.cpp:1064: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp: In member function ‘void MrIcpDriver::RefreshData()’: src/mricp_driver.cpp:1079: error: invalid conversion from ‘int’ to ‘void*’ src/mricp_driver.cpp:1079: error: initializing argument 4 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:1079: error: invalid conversion from ‘void*’ to ‘size_t’ src/mricp_driver.cpp:1079: error: initializing argument 5 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ src/mricp_driver.cpp:1079: error: invalid conversion from ‘unsigned int’ to ‘double*’ src/mricp_driver.cpp:1079: error: initializing argument 6 of ‘virtual void Driver::Publish(player_devaddr_t, uint8_t, uint8_t, void*, size_t, double*, bool)’ make: *** [MrIcpDriver] Error 1 |
|||
| Back to top |
|
|||
| wtrieu |
|
|||
![]() Registered Member #44
Joined: Tue Aug 18 2009, 03:25AMPosts: 2 |
Hello, I am getting the same errors as Yasir. Using player 2.1.2 and stages 3.1.0. Any ideas on how to resolve this problem? William |
|||
| Back to top |
|
|||
| Tarek Taha |
|
|||
![]() ![]() Registered Member #1
Joined: Sat May 05 2007, 07:02AMPosts: 8 |
Hi guys, You no longer need to download and compile the driver yourself, It's already an official driver in playerstage, so if you have player 2.1+ installed then all you need to do is use the "mricp" driver. Check this : http://playerstage.sourceforge.net/doc/Player-2.1.0/player/group__ComponentNavigator.html http://playerstage.sourceforge.net/doc/Player-cvs/player/group__ComponentNavigator.html Hope this helps, Tarek |
|||
| Back to top |
|
|||
| wtrieu |
|
|||
![]() Registered Member #44
Joined: Tue Aug 18 2009, 03:25AMPosts: 2 |
Hello Tarek, I recently upgraded to player 3.0.0 rc3 and when i try to run the stage example of mricp i get this error: wtrieu@ubuntu:~/player-3.0.0-rc3/server/drivers/mixed/mricp/stage_test$ player stage_mricp.cfg Registering driver Player v.3.0.0-rc3 * Part of the Player/Stage/Gazebo Project [http://playerstage.sourceforge.net]. * Copyright (C) 2000 - 2009 Brian Gerkey, Richard Vaughan, Andrew Howard, * Nate Koenig, and contributors. Released under the GNU General Public License. * Player comes with ABSOLUTELY NO WARRANTY. This is free software, and you * are welcome to redistribute it under certain conditions; see COPYING * for details. invoking player_driver_init()... Stage driver plugin init ** Stage plugin v3.1.0 ** * Part of the Player Project [http://playerstage.sourceforge.net] * Copyright 2000-2009 Richard Vaughan, Brian Gerkey and contributors. * Released under the GNU General Public License v2. success Stage plugin: 6665.simulation.0 is a Stage world [Loading ./rescue.world][Include homer.inc][Include map.inc] Stage plugin: 6665.position2d.0 is "robot" Stage plugin: 6665.laser.0 is "robot.laser:0" Laser:0 Range:0 begins:-120 ends:120stage driver setup Laser[0] Pose --> X=0 Y=0 Theta=0 LASER Interface Loaded Success index:0stage_mricp.cfg:41 warning: field [sanitycheck_distance] is defined but not used stage_mricp.cfg:42 warning: field [sanitycheck_angle] is defined but not used - Setting UP MRICP Plugin Driver. --->>> Creating Image Pixel Buffer:logs/MAP_PATCH0listening on 6665 Listening on ports: 6665 --->>> MAP Created with Height=401 Width=400 Resolution=0.050 <<<--- player: /home/wtrieu/player-3.0.0-rc3/server/drivers/mixed/mricp/src/icp.cpp:88: Geom2D::Pose Geom2D::ICP::align(std::vector >, std::vector >, Geom2D::Pose, double, int, bool): Assertion `index.size() == 2' failed. Aborted Any ideas? Thanks, William [ Edited Sun Aug 23 2009, 04:48AM ] |
|||
| Back to top |
|
|||
| Tarek Taha |
|
|||
![]() ![]() Registered Member #1
Joined: Sat May 05 2007, 07:02AMPosts: 8 |
This is a bug introduced by "gbiggs" while trying to suppress the warning messages ( http://playerstage.svn.sourceforge.net/viewvc/playerstage/code/player/trunk/server/drivers/mixed/mricp/src/icp.cpp?r1=4251&r2=7610 ), an extra "index.push_back(0);" which triggers the assertion. I've contacted Toby to correct it and it will be pushed to the svn and latest playerstage releases. Regards, Tarek |
|||
| Back to top |
|
|||
Powered by e107 Forum System
Tarek Taha








