环境
报错
- 按照教程中执行
rosrun warehouse_ros mongo_wrapper_ros.py
报错如下:
[rosrun] Couldn't find executable named mongo_wrapper_ros.py below /opt/ros/melodic/share/warehouse_ros
- warehouse_ros包位于/opt/ros/melodic/share/warehouse_ros,可以看到包中并没有mongo_wrapper_ros.py
- 找到了warehouse_ros的melodic版本的源码,其中源码中包含了mongo_wrapper_ros.py
- 将mongo_wrapper_ros.py拷贝到/opt/ros/melodic/share/warehouse_ros中,并使用
sudo chmod 755 mongo_wrapper_ros.py
将权限改为755 - 重新运行
rosrun warehouse_ros mongo_wrapper_ros.py
,报如下错误: - 使用
sudo apt-get install mongodb-server
命令安装一下mongodb - 重新运行
rosrun warehouse_ros mongo_wrapper_ros.py
,报如下错误: - 使用ps命令查看已经启动了一个mongodb,所以kill掉并重新运行
rosrun warehouse_ros mongo_wrapper_ros.py
后正常启动: - melodic版本的源码下载之后就是一个ros的package,编译之后是一个动态库,可以链接到自己的程序中调用。
- 一台新机器上,编译报错,原因是未安装mongo c++ drivers,在melodic版本的源码的readme中,有编译方法
sudo apt-get install scons
cd mongo-cxx-driver
sudo scons --prefix=/usr/local/ --full --use-system-boost --disable-warnings-as-errors