Catkin_ws Ошибка CMake при сборке пакета. xml пусто - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь создать рабочее пространство catkin с помощью ROS kineti c в Ubuntu 16.04, но это ошибка, и пакет. XML пуст. И что я должен делать? Какие-либо предложения? Я использую также беседку и просто хочу построить CMake, но не смог. Я новичок в CMake и Ubuntu.

evadro@evadro-PowerEdge-T620:~/catkin_ws$ catkin build
-----------------------------------------------------------
Profile:                     default
Extending:             [env] /opt/ros/kinetic
Workspace:                   /home/evadro/catkin_ws
-----------------------------------------------------------
Build Space:        [exists] /home/evadro/catkin_ws/build
Devel Space:        [exists] /home/evadro/catkin_ws/devel
Install Space:      [unused] /home/evadro/catkin_ws/install
Log Space:          [exists] /home/evadro/catkin_ws/logs
Source Space:       [exists] /home/evadro/catkin_ws/src
DESTDIR:            [unused] None
-----------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-----------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-----------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-----------------------------------------------------------
Workspace configuration appears valid.
-----------------------------------------------------------
Traceback (most recent call last):
  File "/usr/bin/catkin", line 11, in <module>
    load_entry_point('catkin-tools==0.4.5', 'console_scripts', 'catkin')()
  File "/usr/lib/python2.7/dist-packages/catkin_tools/commands/catkin.py", line 272, in main
    catkin_main(sysargs)
  File "/usr/lib/python2.7/dist-packages/catkin_tools/commands/catkin.py", line 267, in catkin_main
    sys.exit(args.main(args) or 0)
  File "/usr/lib/python2.7/dist-packages/catkin_tools/verbs/catkin_build/cli.py", line 422, 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 283, in build_isolated_workspace
    workspace_packages = find_packages(context.source_space_abs, exclude_subspaces=True, warnings=[])
  File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 89, in find_packages
    packages = find_packages_allowing_duplicates(basepath, exclude_paths=exclude_paths, exclude_subspaces=exclude_subspaces, warnings=warnings)
  File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 150, in find_packages_allowing_duplicates
    xml, filename=filename, warnings=warnings)
  File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 598, in parse_package_string
    raise InvalidPackage('The manifest contains invalid XML:\n%s' % ex, filename)
catkin_pkg.package.InvalidPackage: Error(s) in package '/home/evadro/catkin_ws/src/./package.xml':
The manifest contains invalid XML:
no element found: line 1, column 0

1 Ответ

0 голосов
/ 12 февраля 2020

Ваша проблема

У вас не может быть пустого package.xml. Пакет. xml содержит всю информацию о вашем пакете, и некоторые из них необходимы (например, название пакета). Вот почему ваш Код ошибки сообщает вам в самом конце:

Манифест содержит недопустимый XML: элемент не найден: строка 1, столбец 0

Также: куда бы вы положили package.xml? Вы создаете package.xml не для Рабочего пространства, а для Пакета, который может l ie внутри рабочего пространства.

Как исправить пакет. xml

На ros.org есть очень хорошее руководство по созданию простого пакета здесь . Если вы действительно хотите создать рабочее пространство с пустым пакетом в нем, вы можете go перейти к src/ вашего рабочего пространства (которое не должно содержать ничего, кроме этой папки sr c) и запустить следующая команда:

catkin_create_pkg theNameOfMyNewPackage

Редактировать: если вам интересно, как структурировать ваш пакет. xml и как организовать ваши зависимости, есть также очень полезная страница от Ros здесь

... но вы действительно этого хотите?

Но для меня ваш Вопрос звучит так, как будто вы на самом деле не хотите иметь пустой пакет (и, следовательно, никакого пакета. xml вообще), но просто пустое рабочее пространство. Это можно сделать, перейдя в любое место внутри вашего рабочего пространства (которое, опять же, не должно содержать ничего, кроме этой папки sr c) и выполнив следующую команду:

cakin init

После этого Вы все еще можете добавить некоторые пакеты - как в сценарии catkin_create_pkg.

...