Friday, May 30, 2008

Dear Python, leave me alone

So yet once again Mr python decide to tease me when i do `apt-get dist-upgrade`:

Setting up python-lxml (2.0.5-1) ...
/var/lib/dpkg/info/python-lxml.postinst: /usr/bin/pycentral: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error processing python-lxml (--configure):
subprocess post-installation script returned error exit status 126
...
Errors were encountered while processing:
epiphany-extensions
bzr
gnome-media-common
libgnome-media0
gnome-media
pidgin
python-lxml
E: Sub-process /usr/bin/dpkg returned an error code (1)

15 comments:

DierRe said...

Hello! If apt-get -f install does not work you can try editing var/lib/dpkg/info/package-giving-error.postrm

and add after #!/bin/sh this code:
exit 0, run the command and then remove the exit 0.

chrismurf said...

Looks to me like you're missing your /usr/bin/python symlink. You could try the following:

sudo ln -s /usr/bin/python2.5 /usr/bin/python

Karl Lattimer said...

I think its time you switched to a distro that works. Obviously debian is just too retarded with python... I'll have a look on monday if you're still having problems but seriously dude this is getting ridiculous.

zeenix said...

dierre! Nice. i'll try. Thanks

chrimurf: Thats what we did last time I had a python problem so the link should have been there but now that i checked, it's all gone. So i guess I'll have to do this manually again. Thanks.

Karl: I refuse to change my distro just because some developers decided to re-write some nice and fast GNOME applications in a scripting language whose interpreter is not well-maintained in one of the most popular distros out there.

There are reasons I got in love with Vala you know. :)

Ross said...

You should probably stop using dist-upgrade for upgrading Debian Unstable. That *will* break.

Just use aptitude.

zeenix said...

Ross: Why is that different than `apt-get dist-upgrade` ? I use debian testing btw so it shouldn't be as unstable as unstable. :)

Pachi said...

You should be using $sudo aptitude safe-upgrade
and, iff you really know what you're doing, $sudo aptitude dist-upgrade after it.
With dist-upgrade you're allowing compatibility breaking changes to enter your system.

WadeMealing said...

If this happened on Red Hat derived distribution, it would be called RPM 'dependancy' hell.

This is the packagers and packaging fault, not the program.

Neil said...

It sucks when this stuff doesn't work, but all of the details are hidden in the error messages.

The "bad interpreter" error means that a script was run which started with

#!/usr/bin/python

and something was bad about the interpreter: "/usr/bin/python". In this case, it doesn't exist (possibly the ultimate in bad :).

You can/should follow @chrismurf's suggestion of making the symlink, but also might want to investigate why there isn't a symlink made naturally with your python.

I don't know about @wademealing's comment. I don't think that there's a dependency problem -- just that your python install is broken. If your python install didn't exist at all, then I'd call it a dependency problem (as the package with the post-install script should require python as a dependency). But maybe I missed some details...

Juhaz said...
This comment has been removed by the author.
Juhaz said...

There are reasons I got in love with Vala you know. :)

And those reasons would suddenly vanish if Debian packager of Vala did a bad job, like Debian packagers of Python do? That does not sound particularly logical.

Note that the python packages are not unmaintained or undermaintained - they're overmaintained. Debian people have this weird urge to add their own insane "python-support" and "pycentral kludges that just break things without any real gain, if they were just packaging upstream software you'd never see this kind of issues.

zeenix said...

There are reasons I got in love with Vala you know. :)

And those reasons would suddenly vanish if Debian packager of Vala did a bad job, like Debian packagers of Python do? That does not sound particularly logical.


There can't possibly be those problems with Vala since Vala does not introduce any runtime dependencies. Please think/study a bit before getting pissed at what i say. :)

Juhaz said...

I get pissed because you act like Debian can do no wrong, even though it's obvious that they are to blame, and then start looking for a scapegoat in Python.

In the end, it doesn't matter a while lot where the dep comes from. If lots of stuff uses something, you should be very careful to not break it. Would you still absolve Debian of all responsibility if they chose to break libc or glib or gtk instead?

zeenix said...

I get pissed because you act like Debian can do no wrong, even though it's obvious that they are to blame, and then start looking for a scapegoat in Python.

I didn't say that at all, please re-read what i wrote a few times with a cool mind. Also note that I was happy redhat (and then Fedora) user until I was forced to move to debian/ubuntu because Fedora packages were always optimized for high-end machines and not my (not so) low-end machines.

Would you still absolve Debian of all responsibility if they chose to break libc or glib or gtk instead?

The fact is that Debian/Ubuntu has quite a big amount of users/developers (compared to that of Fedora) and many of them are GNOME users so I think a GNOME developer should check weather or not the dependency he is introducing to his software has some problem in the the most widely used distros or not.

And now for a direct question to your answer, no! I will immediately switch to another distro if Debian's support for such basic libs will be as poor as that of python. So far, it never happend.

np237 said...

Juhaz, you can’t say that python-central/python-support is useless. They don’t bring anything visible, but under the scene this is what allows Python packages to install smoothly, doing correctly many things that distutils (and, much worse, setuptools) do wrong or don’t do at all.

The real problem here (just like in your previous post) is that python-central is full of bugs and not correctly maintained.