Не могу понять, что не так с roslaunch

Не могу понять, что не так с roslaunch

Я точно знаю, что правильно установил ROS (дистрибутив — melodic) на моем wsl, и я знаю, что выполнил ВСЕ шаги, чтобы правильно загрузить полный пакет, но использование командной строки roslaunch или чего-либо, связанного с roslaunch, только вернуло бы меня к этому сообщению.

Command 'roslaunch' not found, but can be installed with:

sudo apt install python-roslaunch

если я ввожу командную строку

sudo apt install python-roslaunch

это тогда привело бы меня к

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-roslaunch : Depends: python-roslib but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

и установка python-roslib приведет меня к другой ошибке, похожей на вышеприведенную. Я перепробовал все. От переустановки всего до касания файлов, расположенных в каталоге rootf, но пока ничего не сработало. Буду признателен за все, что хотя бы поможет мне понять, в чем проблема.

решение1

$ sudo apt-get update 
$ sudo apt-get upgrade

$ sudo apt-get update --fix-missing

$ sudo apt-get autoclean

$ apt-get clear cache

решение2

Вот несколько быстрых и простых способов исправить you have held broken packagesошибку.

  • Откройте файл sources.list /etc/apt/sources.listи проверьте, нет ли источников программного обеспечения для другого выпуска Ubuntu, отличного от используемого вами в данный момент. Если вы обнаружите какие-либо неправильные строки выпуска в sources.list, откройте файл sources.list с помощью sudoedit /etc/apt/sources.list, закомментируйте неправильные строки в sources.list, поставив перед ними символ #, сохраните файл sources.list и запустите его sudo apt updateдля обновления списка доступных пакетов программного обеспечения.

  • ВыберитеИсправить сломанные пакетыопция в менеджере пакетов Synaptic. Выполните следующие команды для установки Synaptic.

      sudo apt update  
      sudo apt upgrade   
      sudo apt install synaptic  
    

    Откройте Synaptic и в Synaptic выберитеРедактировать->Исправить сломанные пакетыи затем повторитьРедактировать->Исправить сломанные пакетывторой раз.

    В Synaptic на левой панели щелкнитеПользовательские фильтрыкнопка, которая отмечена курсором мыши на скриншоте ниже. Из списка в левом верхнем углу выберитеСломанный. В центральной панели будут перечислены все сломанные пакеты, которые еще необходимо восстановить.

показать сломанные пакеты в Synaptic

Select the broken packages one at a time. Select a broken package, and then open the terminal and run <code>apt policy <b>&lt;package-name&gt;</b></code>. The results of this command will tell you if that broken package was installed from the default Ubuntu repositories or from some other source. If the broken package was installed from some other source, maybe that package can be removed along with its software source and replaced by a different version of the same package from the default Ubuntu repositories. Usually this means fixing a broken package by downgrading that package to an older version.
  • Если вы получили это сообщение об ошибке:

      Try 'apt-get -f install' with no packages (or specify a solution)  
    

    Выполните следующие команды:

      sudo apt update  
      sudo apt upgrade   
      sudo apt-get -f install   
    
  • Удалите сломанную упаковку вручную.

  1. Найдите свой пакет в/var/lib/dpkg/info

         ls -l /var/lib/dpkg/info | grep <package>
    
  2. Переместите папку пакета в другое место.

         cd /tmp && sudo mkdir new-package-location  
         sudo mv /var/lib/dpkg/info/<package>.* /tmp/new-package-location/    
    
  3. Выполните следующую команду:

         sudo dpkg --remove --force-remove-reinstreq <package>  
    

Если все эти методы не работают, возможно, что сломанные пакеты вызваны чем-то, что так глубоко встроено в операционную систему, что ни один из этих методов не оказывает на нее никакого эффекта. Первое очевидное место для поиска этого глубоко встроенного "чего-то" - это исходные коды программного обеспечения в /etc/apt/sources.list. Проверьте файл sources.list, чтобы увидеть, содержит ли он какие-либо нестандартные строки, которые могут вызывать ошибку сломанных пакетов. Стандартный файл Ubuntu sources.list выглядит так же, как файлы sources.list вэтот ответ.

Правильный способ удалить подозрительную строку из sources.list — закомментировать ее, поставив перед ней символ #. Затем запустите sudo apt updateдля обновления списка доступного программного обеспечения.

Связанный контент