Решил, что лучше всего снести (убрать в архив) имеющийся ~/catkin_ws и создать новый, по вот этой инструкции:
https://github.com/mavlink/mavros/tree/ ... stallationВроде ничего принципиального оно за пределами ~/catkin_ws не меняет, кроме rosdep install, её запустил с ключом -s чтобы сначала посмотреть, что делать будет, и она выдала такую ошибку:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies:
mavlink: Cannot locate rosdep definitions for [python-future]
При попытке, несмотря на эту ошибку, собрать всё командой "catkin build" пакет "mavlink" упал, сообщив "ImportError: No module named future".
На файле ~/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py
Видимо вот на этом участке:
11: from __future__ import print_function
12:
from future import standart_library13: standart_library.install_aliases()
Поставил pip командой "sudo easy_install pip", поставил модуль "future" для питона командой "sudo pip install future"
По команде "catkin build" успешно собрались "mavros_msgs" и "mavlink", теперь "libmavcon" падает с "OSError: [Errno 12] Cannot allocate memory".
Вот на всякий случай полный скрин:
Workspace configuration appears valid.
--------------------------------------------------------------------------------
Found '6' packages in 0.1 seconds.
Starting ==> mavlink
Starting ==> mavros_msgs
Finished <== mavros_msgs [ 32.6 seconds ]
Finished <== mavlink [ 1 minute and 19.1 seconds ]
Starting ==> libmavconn
[build] Runtime: 1 minute and 54.8 seconds [4/4 Jobs | 1/4 Active | 2/6 Completed]
Traceback (most recent call last):
File "/usr/bin/catkin", line 9, in <module>
load_entry_point('catkin-tools==0.3.1', 'console_scripts', 'catkin')()
File "/usr/lib/python2.7/dist-packages/catkin_tools/commands/catkin.py", line 229, in main
sys.exit(args.main(args) or 0)
File "/usr/lib/python2.7/dist-packages/catkin_tools/verbs/catkin_build/cli.py", line 334, in main
summarize_build=opts.summarize # Can be True, False, or None
File "/usr/lib/python2.7/dist-packages/catkin_tools/verbs/catkin_build/build.py", line 828, in build_isolated_workspace
wide_log(msg, rhs=msg_rhs, end='\r')
File "/usr/lib/python2.7/dist-packages/catkin_tools/common.py", line 430, in wide_log
wide_log_fn(msg, **kwargs)
File "/usr/lib/python2.7/dist-packages/catkin_tools/common.py", line 366, in __wide_log
width = terminal_width()
File "/usr/lib/python2.7/dist-packages/catkin_tools/common.py", line 288, in terminal_width
return terminal_width_windows() if os.name == 'nt' else terminal_width_linux()
File "/usr/lib/python2.7/dist-packages/catkin_tools/common.py", line 280, in terminal_width_linux
width = os.popen('tput cols', 'r').readline()
OSError: [Errno 12] Cannot allocate memory
Забыл еще вчера написать по наличию памяти:
- Код: Выделить всё
ubuntu@aristoteles:~/catkin_ws$ free -m
total used free shared buffers cached
Mem: 923 229 694 0 3 20
-/+ buffers/cache: 206 717
Swap: 0 0 0