web-dev-qa-db-fra.com

Bibliothèque installée à l'aide de checkinstall qui a créé un package nommé "python" et provoque des problèmes de dépendance

Je voulais essayer la nouvelle version majeure d'une bibliothèque c ++ appelée gtsam. Comme j'utilise actuellement une ancienne version de la bibliothèque pour plusieurs projets et que je n'étais pas sûr des problèmes de dépendance, j'ai décidé de l'installer en utilisant checkinstall:

mkdir build && cd build
make
Sudo checkinstall

Puisqu'il est venu avec un wrapper python que je voulais également installer, j'ai fait:

cd python
Sudo checkinstall python setup.py install

Maintenant, je voulais à nouveau supprimer la version, j'ai donc vérifié sous quel nom de package la bibliothèque était installée.

La bibliothèque principale s'appelait "build", ce que j'ai déjà trouvé étrange, bien que je puisse la supprimer en utilisant:

Sudo dkpg -r build

Quand j'ai maintenant essayé de faire de même avec:

Sudo dpkg -r python

il se plaignait des problèmes de dépendance car il interprétait "python" comme le paquet ubuntu python principal).

Si je fais dpkg -l python Je reçois:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                     Architecture                Description
 +++-=============================================-===========================-===========================-==================================================
ri  python                                        20160629-1                  AMD64                       Python part of gtsam-4.0.0-alpha1.

À ce stade, j'ai un peu peur et je ne sais pas quoi faire pour résoudre ce problème. Je souhaite désinstaller les fichiers installés par checkinstall python setup.py install sans bousiller la configuration de mon système python setup.

J'ai en fait utilisé checkinstall parce que je n'avais pas envie de me soucier de revenir sur l'installation ...

1
Malefitz

Ok, donc je pense avoir résolu le problème.

J'ai découvert qu'avec apt-cache showpkg python Je peux voir toutes les différentes versions python disponibles. J'ai choisi la dernière et l'ai installée en utilisant:

Sudo apt-get install python=2.7.5-5ubuntu3

Il m'a averti qu'il ne pouvait pas supprimer certains "anciens répertoires":

dpkg: warning: unable to delete old directory '/usr/local/lib/python2.7/dist-packages': Directory not empty
dpkg: warning: unable to delete old directory '/usr/local/lib/python2.7': Directory not empty
dpkg: warning: unable to delete old directory '/usr/local/lib': Directory not empty
dpkg: warning: unable to delete old directory '/usr/local': Directory not empty

Mais ça va, puisque j'ai essayé de résoudre le problème sans en supprimant ces répertoires.

Maintenant, si je fais un dpkg -l python J'obtiens la sortie correcte suivante:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                     Architecture                Description
+++-=============================================-===========================-===========================-====================================================================
ii  python                                        2.7.5-5ubuntu3              AMD64                       interactive high-level object-oriented language (default version)

Je surveillerai si j'obtiens un comportement plus étrange de mon système, mais pour l'instant il semble que cela ait résolu le problème.

2
Malefitz