FS#31856 - [gcc-libs] Unable to compile 32-bit programs after last update

Attached to Project: Arch Linux
Opened by Peter Wu (Lekensteyn) - Tuesday, 09 October 2012, 10:25 GMT
Last edited by Thomas Bächler (brain0) - Tuesday, 09 October 2012, 11:45 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


The last update removed some packages:

:: gcc-libs and gcc-libs-multilib are in conflict. Remove gcc-libs-multilib? [y/N] y
:: gcc and gcc-multilib are in conflict. Remove gcc-multilib? [y/N] y

gcc 4.7.2-1 71.25 MiB 17.97 MiB
gcc-libs 4.7.2-1 2.93 MiB 0.75 MiB
gcc-libs-multilib 4.7.1-6 -2.95 MiB
gcc-multilib 4.7.1-6 -78.85 MiB

Now, it is not possible to compile 32-bit programs using `gcc -m32 foo.c`.
The 32-bit libs are provided by gcc-multilib, but this package cannot be installed due to a conflict with gcc:

:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y
:: gcc: requires gcc-libs=4.7.2-1

Basically, this is bugreport is a "request for packaging", but I think that this dependency issue is pretty much a bug.

Related thread: https://bbs.archlinux.org/viewtopic.php?id=150340
This task depends upon

Closed by  Thomas Bächler (brain0)
Tuesday, 09 October 2012, 11:45 GMT
Reason for closing:  Not a bug
Additional comments about closing:  User error.
Comment by Dave Reisner (falconindy) - Tuesday, 09 October 2012, 10:53 GMT
What is the "last update"? What did you install that required you to remove gcc-multilib? There's been no toolchain bump recently, so this bug report makes no sense.
Comment by Laurent Carlier (lordheavy) - Tuesday, 09 October 2012, 11:01 GMT
Something like this ?
LANG=C sudo pacman -Syu gcc-multilib
:: Synchronizing package databases...
mesa-git is up to date
testing is up to date
core is up to date
extra is up to date
community-testing is up to date
community is up to date
multilib-testing is up to date
multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...
:: gcc-libs-multilib and gcc-libs are in conflict. Remove gcc-libs? [y/N] y
:: gcc-multilib and gcc are in conflict. Remove gcc? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: libtool: requires gcc=4.7.2

It means that gcc-multilib 4.7.2 is MIA
Comment by Peter Wu (Lekensteyn) - Tuesday, 09 October 2012, 11:03 GMT
Sorry, I forgot to check that. It seems that libtool is the cause:
upgraded libltdl (2.4.2-6 -> 2.4.2-7)

As you can see in the next commit, a dependency was bumped from gcc 4.7.1 to gcc 4.7.2:

Since gcc-multilib is behind, it gets removed in favor of the other package.
Comment by Thomas Bächler (brain0) - Tuesday, 09 October 2012, 11:45 GMT
If you use gcc-multilib, you must also use libtool-multilib.