Posts tagged ‘pacman’

gcc-libs / gcc-libs-multilib conflict

My morning updating ritual was interrupted by an annoying question from pacman:

$ packer -Syu
:: Synchronizing package databases...
core 106.7 KiB 650K/s 00:00 [######################] 100%
extra 1422.5 KiB 1151K/s 00:01 [######################] 100%
community 1786.4 KiB 927K/s 00:02 [######################] 100%
multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...
:: gcc-libs and gcc-libs-multilib are in conflict. Remove gcc-libs-multilib? [y/N] ^C

That’s no fun. I can’t be removing gcc-libs or things will be blowing up. But why is it asking me to remove gcc-libs-multilib anyway? As a multilib dependent 64bit OS user, I can’t replace that. Luckily, I happened to check the forums this morning and someone else ran into this same problem. Turns out that for me, anyway, I had a tool that still relied on gcc-libs, as I hadn’t replaced it with its -multilib doppleganger. In my case, I had libtool and I should have had libtool-multilib. Not sure exactly how I got in that state. You wouldn’t think it would let me replace gcc-libs with gcc-libs-multitool if there were things that depended on it. But I guess it says it provides ‘gcc-libs’, so libtool was happy. But when it came time to upgrade, it wanted to use gcc-libs.

So to fix it I merely installed libtool-multilib, allowing it to replace libtool. Then my upgrade went as planned, as there wasn’t anything asking for gcc-libs any more.

Here’s the list brain0 posted in the forums, saying if you replace one of them with its multilib compatriot, you need to replace them all:

inutils-multilib
gcc-ada-multilib
gcc-fortran-multilib
gcc-go-multilib
gcc-libs-multilib
gcc-multilib
gcc-objc-multilib
libtool-multilib

conflict between gcc-libs / gcc-libs-multilib (gcc-objc related) (Page 1) / Pacman & Package Upgrade Issues / Arch Linux Forums.

Pacman info

I have really become addicted to using the -Qo flag of pacman. This is especially true with the various times I have had to do the painful /usr/lib move, as you need to figure out which package owns the files that are left in /lib. It’s pretty easy, really

$ pacman -Qo /usr/lib/libQtCore.so
/usr/lib/libQtCore.so is owned by qt 4.8.2-3

Very nice. And, even better, I found out you can just omit the full path if it is an executable in your path:

$ pacman -Qo hostname
/usr/bin/hostname is owned by inetutils 1.9.1-4

Nice.