-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
apt-get install python3-rospkg fails due to dependency conflict. #71
Comments
p.s. if there is a better place to report this bug, let me know. Putting this onto the ubuntu launchpad bug system seems wrong, since this is not an ubuntu-controlled repo. |
Sorry, but you cannot install the Python3 deb for rospkg at the same time as the Python2 deb. If you need to do that then I recommend that you use a I think this is a duplicate of this one: #69 |
OK, makes sense, but then installing one should cause the other to be automatically uninstalled. So I just discovered that
hits this all over the place, for example:
A partial cure is to first |
I spoke too soon. trying to manually resolve this gets ugly, fast:
|
You will have to uninstall all of ROS if you want to install the Python3 version of the python packages like |
well, yes, I now understand. However, right now, I cannot install or uninstall anything, because apt errors out. Running Recall I got into this mess in a simple, legit two-step process: that's it -- apt is is now unusable, one can neither install or uninstall, and |
If two packages are colliding because they try to install the same file the installation of the second package fails. But this does not leave the packages in an invalid state. You must have called something specific to trigger the problem. I will mark this ticket as "wontfix" and close it since we don't see a way to support installing both packages side-by-side. |
I'm not asking for them to be installed side by side. I am asking that the .debs have the correct dependencies marked in them, so that install conflicts cannot occur. Right now, the .debs fail to have the dependencies correctly marked, and so one can quickly find oneself in a huge mess. In particular, it very easily -- almost trivially, puts you into an invalid state! |
The debs should have the correct dependencies marked in them. Please point me to a specific Debian and which dependency it is missing. When I try to install the python3 version of the package it simply aborts the installation. It does not corrupt the package state for me. Can you please post a command sequence which allows to reproduce the problem? The only think "missing" in the Debian package is that it could state a |
To be clear: based on the observed behaviour, it seems that the .debs for the misc python3-ros* packages are missing a "Conflicts" field, per the usual https://www.debian.org/doc/debian-policy/ch-relationships.html section 7.4 |
@linas I think you are right, we should have the conflict so that it never even gets to the installation failure where the binaries collide, but as @dirk-thomas pointed out, the infrastructure we use for generating Python releases does not support it currently. I am going to open a ticket on our python releasing infrastructure to track this problem, but for now we cannot fix it in a sustainable way. |
Yes, thank you. In trying to get a cleanly reproducible test, I just ended up further down the rabbit hole. |
I'm not convinced its even possible to install ros and python3-rospkg at the same time. Here's a fairly simple scenario: Start with a clean system by purging ros-indigo-* and python-ros* (i.e. everything I could find by saying
I can work around this by installing the base first, and then just forcing past the error with which sems mostly harmless, in the end: its just clobbering /usr/bin/rosversion with some different /usr/bin/rosversion The dumb solution for this would be to create a package python-ros-pkg-comon which contains only /usr/bin/rosversion and then have both python-rospkg and pythong3-rospkg depend on it :-? |
And what Python version does the shebang line in the |
Even if it were possible to install them at the same time, it would not run correctly because all of the ROS debians which use the I'll just point out my original suggestion. If you need python3-rospkg then use a virtual environment. |
Hmm. Thanks, again. I will try that. Right now, I'm in pain, as I've been given some ROS nodes that run in blender, and blender only supports python3. Its starting to feel like the good-old bad days of perl... |
I get this:
and removing the python2 version is not an option:
The text was updated successfully, but these errors were encountered: