Cant build catkin ws


#1

I get an error while building the catkin workspace containing the slamdunk_ros and gscam. These are the only two packages in the workspace. This workspace exists on the slamdunk machine. This is the error while building

/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:210:38: error: ‘SERVICE_TYPE_LAST’ is not a member of ‘kalamos::ServiceType’
std::bitset<static_cast(kalamos::ServiceType::SERVICE_TYPE_LAST) + 1> m_dirtyServices;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:210:82: error: template argument 1 is invalid
std::bitset<static_cast(kalamos::ServiceType::SERVICE_TYPE_LAST) + 1> m_dirtyServices;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp: In member function ‘void {anonymous}::Context::forwardStreamingOptions()’:
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:310:25: error: ‘struct kalamos::StreamingOptions’ has no member named ‘type’
options.type = kalamos::StreamingType::TYPE_RTP;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:310:41: error: ‘kalamos::StreamingType’ has not been declared
options.type = kalamos::StreamingType::TYPE_RTP;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:313:25: error: ‘struct kalamos::StreamingOptions’ has no member named ‘type’
options.type = kalamos::StreamingType::TYPE_FILE;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:313:41: error: ‘kalamos::StreamingType’ has not been declared
options.type = kalamos::StreamingType::TYPE_FILE;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:316:17: error: ‘struct kalamos::StreamingOptions’ has no member named ‘rtpHost’
options.rtpHost = m_config.streaming_rtp_host;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:317:17: error: ‘struct kalamos::StreamingOptions’ has no member named ‘rtpPortLeft’
options.rtpPortLeft = m_config.streaming_rtp_port_left;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:318:17: error: ‘struct kalamos::StreamingOptions’ has no member named ‘rtpPortRight’
options.rtpPortRight = m_config.streaming_rtp_port_right;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:319:17: error: ‘struct kalamos::StreamingOptions’ has no member named ‘filePath’
options.filePath = m_config.streaming_file_path;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:320:17: error: ‘struct kalamos::StreamingOptions’ has no member named ‘fileEnableLeft’
options.fileEnableLeft = m_config.streaming_file_enable_left;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:321:17: error: ‘struct kalamos::StreamingOptions’ has no member named ‘fileEnableRight’
options.fileEnableRight = m_config.streaming_file_enable_right;
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp: In member function ‘void {anonymous}::Context::posePublish(const kalamos::PoseData&)’:
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:647:34: error: ‘const struct kalamos::PoseData’ has no member named ‘up’
up[i] = poseData.up[i];
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp: In member function ‘void {anonymous}::Context::setDirty(kalamos::ServiceType)’:
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:1154:25: error: request for member ‘set’ in ‘(({anonymous}::Context*)this)->{anonymous}::Context::m_dirtyServices’, which is of non-class type ‘int’
m_dirtyServices.set(static_cast(service));
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp: In member function ‘bool {anonymous}::Context::isDirty(kalamos::ServiceType) const’:
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:1159:32: error: request for member ‘test’ in ‘((const {anonymous}::Context*)this)->{anonymous}::Context::m_dirtyServices’, which is of non-class type ‘const int’
return m_dirtyServices.test(static_cast(service));
^
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp: In member function ‘void {anonymous}::Context::tick()’:
/home/slamdunk/slamdunk_catkin_ws/src/slamdunk_ros/slamdunk_node/src/main.cpp:1324:25: error: request for member ‘reset’ in ‘(({anonymous}::Context*)this)->{anonymous}::Context::m_dirtyServices’, which is of non-class type ‘int’
m_dirtyServices.reset();
^

I believe that we have followed the instructions on the slamdunk readme correctly.

We are on the 1.0.0 release.

Both the rviz and rqt smaple applications work as expected.


Catkin_make error -j4 -l4
#2

Hi holmesk1,

you can update the “slamdunk package” to version 1.0.1 with following commands:

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

Once rebooted, you can compile with “catkin_make -j 2”.
Note that you need a USB-ethernet adapter to connect the Parrot S.L.A.M.dunk on the Internet.

Sources on github contains also code for “slamdunk package” version 1.0.0, but it’s better to update to “slamdunk package” 1.0.1

Reference page to update your Parrot S.L.A.M.dunk is available on: https://community.parrot.com/t5/Parrot-S-L-A-M-dunk-Knowledge/Updating-Parrot-S-L-A-M-dunk/ta-p/157918

On that page you can also find explanation to update the complete software with a USB flash drive, but version 1.0.1 is not yet available.


tba


#3

thanks

Im now getting an error relating to opencv and the problem relating to the opencv issue described in the git page.

When I compile with

catkin_make -j 2

I see the following error:

*** No rule to make target /usr/lib/libopencv_videostab.so.2.4.13', needed by/home/slamdunk/wills_ws/devel/lib/libslamdunk_rvizplugins.so’. Stop.

I’m getting this after running the code listed in the troubleshooting opencv issues on the git page.

This is what gprop shows:

slamdunk@slamdunk-000265:~/wills_ws$ gprop
[persist.ulogcat.persist]: [1]
[ro.build.alchemy.product]: [kalamos]
[ro.build.alchemy.variant]: [ad]
[ro.build.date.utc]: [1484311020]
[ro.build.date]: [Fri Jan 13 13:37:00 CET 2017]
[ro.build.hostname]: [0f8f214ec541]
[ro.factory.serial]: [PS741000AA6K000265]
[ro.hardware]: [kalamos]
[ro.model]: [kalamos]
[ro.parrot.build.group]: [drones]
[ro.parrot.build.initial.uid]: [1.0.0-rc5]
[ro.parrot.build.product]: [kalamos]
[ro.parrot.build.project]: [kalamos]
[ro.parrot.build.region]: []
[ro.parrot.build.uid]: [kalamos-ad-1.0.1]
[ro.parrot.build.variant]: [ad]
[ro.parrot.build.version]: [1.0.1]
[ro.revision]: [6]


#4

Hi holmesk1,

All code described in documentation and github is now related to full version 1.0.1, included OpenCV library, so you need to perform a full update.

Full update to version 1.0.1 is now available on http://plf.parrot.com/Drones/slamdunk/update_recovery.tar.gz

You can refer to reference page https://community.parrot.com/t5/Parrot-S-L-A-M-dunk-Knowledge/Updating-Parrot-S-L-A-M-dunk/ta-p/157918 to update the Parrot S.L.A.M.dunk

You simply have to follow “Via a USB flash drive”

Full Version Identifier is known through property “ro.parrot.build.initial.uid” (currently 1.0.0-rc5).
After full update, “ro.parrot.build.initial.uid” should indicate “1.0.1”


tba