Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#42257 - [pacman] pacman.conf, change "Architecture = auto" to actual architecture
Attached to Project:
Arch Linux
Opened by Max Bruckner (FSMaxB) - Sunday, 05 October 2014, 12:15 GMT
Last edited by Allan McRae (Allan) - Wednesday, 08 October 2014, 01:10 GMT
Opened by Max Bruckner (FSMaxB) - Sunday, 05 October 2014, 12:15 GMT
Last edited by Allan McRae (Allan) - Wednesday, 08 October 2014, 01:10 GMT
|
DetailsCurrently there's this line in /etc/pacman.conf
Architecture = auto This creates problems when chrooting from a system with a 64 bit kernel to an i686 archlinux installation. In this case when installing software without changing "auto" to "i686", pacman will install x86_64 packages into the i686 system. This is a problem for example when working with containers or remastering the installer ISO, because it's easy to forget to change pacman.conf before installing software. Therefore I suggest changing it to Architecture = i686 in the i686 version of the package and to Architecture = x86_64 in the x86_64 version of the package. |
This task depends upon
Closed by Allan McRae (Allan)
Wednesday, 08 October 2014, 01:10 GMT
Reason for closing: Won't implement
Wednesday, 08 October 2014, 01:10 GMT
Reason for closing: Won't implement
Can you post a pacman debug log of the failing?
The attachment contains the output of the second command.
In this case pacman didn't install anything because of missing keys ( because I didn't -Syu ) but it clearly documents that it's downloading the x86_64 packages, not the i686 ones!
This time I used "pacman -Syy 2>&1 | tee pacman-Syy.debug"
When I change Architecture to i686, then "pacman -Syy", then change Architecture to auto and do "pacman -S", everything works fine. But as soon as I do "pacman -Sy" (even without 2 y) again, it replaces the database files with the x86_64 ones.
If you run "uname" within your chroot, you will see pacman is detecting your actual architecture correctly.
# mkdir -p /home/chroot/tmp/var/lib/pacman/
# setarch i686 sudo pacman -r /home/chroot/tmp -Sy base
And given you will fail to install packages without using setarch with Architecture - auto or Architecture = i686, you have not given a good reason to change it.