Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I've recently installed Arch Linux onto my primary (Ubuntu) computer, and it is working really well for me. It's fast, configurable, basically a faster version of Ubuntu.

Since compiz-fusion isn't installed by default, I'd like to see how much it would impact my performance, but I get this really nice and descriptive error message when I run pacman to install it:

[root@arch /]# pacman -S compiz-fusion-gtk
resolving dependencies...
looking for inter-conflicts...
:: python and python2 are in conflict (python<3). Remove python2? [y/N] n
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: python and python2 are in conflict (python<3)

haven't installed python3, and my only installed Python version is Python 2.7.1, which doesn't seem to be conflicting with anything.

Google didn't turn up any results, so has anybody come across an error like this before? compiz-fusion isn't the only package which fails to install because of this python conflict, so quite a few nice packages (like python-qt) are uninstallable for me.

Any help is help for me. Thanks!

share|improve this question
add comment

2 Answers 2

up vote 4 down vote accepted

On Arch Linux, the python package contains python 3, and the python2 package contains python 2.

Try pacman -Sy python python2 first. Once both of those packages are installed, compiz-fusion and python-qt should install.

Oh, and you can't have updated your system in a while. dbus-python doesn't depend on the python package any more, but on the python2 package (since october 2010, according to SVN).

share|improve this answer
    
So, is it the updated python ( that is, python 3) which is set to conflict with python<3, or is it compiz-fusion-gtk doing that? If it's the new python, that leaves @Blender out of luck, as long as anything still requires python2, right? –  mattdm Mar 10 '11 at 13:10
    
No. Updated packages requiring python 2 will specify a dependency on python2. Updated packages requiring python 3 will specify a dependency on python. Specifying a conflict with python<3 is just a way to force you to update your system before installing, I guess. –  gnud Mar 10 '11 at 13:13
    
Ahh, the nuances of packaging systems. So where is "python and python2 are in conflict (python<3). Remove python2?" coming from? –  mattdm Mar 10 '11 at 13:17
    
That conflict is coming from the python2 package, which is (naturally) in conflict with older python packages. Upgrade python first, and all should be well, hopefully. –  gnud Mar 10 '11 at 13:29
    
And the python2 package is getting pulled in by one of the packages in the compiz-fusion-gtk group. –  gnud Mar 10 '11 at 13:29
show 1 more comment

You should never install a package with pacman -Sy $package. It will eventually break your system, eat your kitten or worse, but you apparently did so. The move from python being python2 to python3 was made last year by the archlinux developers (news article).

share|improve this answer
    
There's no problem using -Sy to install stuff, as long as your system is up to date. No reason to, either, though. –  gnud Mar 10 '11 at 18:44
    
Using -Sy to install packages is bad as you can see in this case. The Arch Wiki also tells you not to do it, as do the pacman developers in the linked forum thread. –  Wieland Mar 10 '11 at 21:00
    
Yes, I did say "as long as your system is up to date". If it's not, you might get dependency issues, like the arch wiki says. On the other hand, like I also said in my first comment, there really isn't any point to installing via -Sy, so from that perspective the wiki gives good advice and I'm sorry to have wasted everyones time with my comments :P –  gnud Mar 10 '11 at 21:45
1  
I guess we both agree that an unexperienced user should not use -Sy to install a package, right? Experienced users can do it, but it's no use telling everybody it sometimes works because then everybody will start doing it. –  Wieland Mar 11 '11 at 9:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.