
Tenho certeza de que instalei corretamente o ROS (com a distro sendo melódica) no meu wsl e sei que segui TODOS os passos para baixar o pacote completo corretamente, mas usando a linha de comando roslaunch ou qualquer coisa relacionada ao roslaunch só me levaria de volta a esta mensagem
Command 'roslaunch' not found, but can be installed with:
sudo apt install python-roslaunch
se eu entrar na linha de comando
sudo apt install python-roslaunch
isso então me levaria a
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.
e instalar python-roslib me levaria a outro erro semelhante ao acima. Eu tentei de tudo. Desde reinstalar tudo até mexer nos arquivos localizados no diretório rootf, mas até agora nada funcionou. Qualquer coisa que pudesse pelo menos me ajudar a descobrir o que há de errado seria apreciada.
Responder1
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get update --fix-missing
$ sudo apt-get autoclean
$ apt-get clear cache
Responder2
Estas são algumas maneiras rápidas e fáceis de corrigir o you have held broken packages
erro.
Abra seu arquivo sources.list
/etc/apt/sources.list
e verifique se não há fontes de software para uma versão do Ubuntu diferente da versão do Ubuntu que você está usando atualmente. Se você encontrar alguma linha de lançamento incorreta em fontes.list, abra o arquivo fontes.list comsudoedit /etc/apt/sources.list
, comente as linhas incorretas em fontes.list precedendo-as com um#
caractere, salve o arquivo fontes.list e executesudo apt update
para atualizar a lista de pacotes de software disponíveis.Selecione osConsertar pacotes quebradosopção no gerenciador de pacotes Synaptic. Execute os seguintes comandos para instalar o Synaptic.
sudo apt update sudo apt upgrade sudo apt install synaptic
Abra o Synaptic e no Synaptic selecioneEditar->Consertar pacotes quebradose depois repitaEditar->Consertar pacotes quebradosuma segunda vez.
No Synaptic, no painel esquerdo, clique no botãoFiltros personalizadosbotão que é marcado pelo cursor do mouse na imagem abaixo. Na lista no canto superior esquerdo, selecioneQuebrado. No painel central serão listados todos os pacotes quebrados que ainda precisam ser reparados.
Select the broken packages one at a time. Select a broken package, and then open the terminal and run <code>apt policy <b><package-name></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.
Se você receber esta mensagem de erro:
Try 'apt-get -f install' with no packages (or specify a solution)
Execute os seguintes comandos:
sudo apt update sudo apt upgrade sudo apt-get -f install
Remova manualmente um pacote quebrado.
Encontre seu pacote em
/var/lib/dpkg/info
ls -l /var/lib/dpkg/info | grep <package>
Mova a pasta do pacote para outro local.
cd /tmp && sudo mkdir new-package-location sudo mv /var/lib/dpkg/info/<package>.* /tmp/new-package-location/
Execute o seguinte comando:
sudo dpkg --remove --force-remove-reinstreq <package>
Se todos esses métodos não funcionarem, é possível que os pacotes quebrados sejam causados por algo que está tão profundamente embutido no sistema operacional que nenhum desses métodos tenha qualquer efeito sobre ele. O primeiro lugar óbvio para procurar por esse "algo" profundamente enraizado é nas fontes de software do /etc/apt/sources.list
. Verifique o arquivo sources.list para ver se ele contém alguma linha fora do padrão que possa estar causando um erro de pacotes quebrados. Um arquivo source.list padrão do Ubuntu se parece com os arquivos sources.list emesta resposta.
A maneira correta de remover uma linha suspeita de sources.list é comentá-la precedendo-a com um #
caractere. Em seguida, execute sudo apt update
para atualizar a lista de softwares disponíveis.