You are not logged in.

#1 2011-03-23 16:50:37

jwhendy
Member
Registered: 2010-04-01
Posts: 621

[SOLVED] setting up chroot -- wrong architecture errors using pacman

Hi,

I'm following the WIKI to reinstall my chroot after a reinstall. I've done this 10s of times and am quite familiar with the process. I'm running into a problem with pacman syncing x86_64 packages for some reason. I'll paste what I have and wait for someone to tell me what would help...

# sed -e 's/\$arch/i686/g' /etc/pacman.d/mirrorlist > /opt/arch32/mirrorlist
# sed -e 's@/etc/pacman.d/mirrorlist@/opt/arch32/mirrorlist@g' /etc/pacman.conf > /opt/arch32/pacman.conf

# nano /opt/arch32/pacman.conf (change 'Architecture = auto' -> 'Architecture = i686'). Just to be sure:

# cat /opt/arch32/pacman.conf | grep Arch
Architecture = i686

# cat /opt/arch32 (extracted the one uncommented mirror here:)
Server = http://mirror.rit.edu/archlinux/$repo/os/i686

# mkdir -p /opt/arch32/var/{cache/pacman/pkg,lib/pacman}

# pacman --root /opt/arch32 --cachedir /opt/arch32/var/cache/pacman/pkg --config /opt/arch32/pacman.conf -Sy
:: Synchronizing package databases...
 core                      37.3K    2.1M/s 00:00:00 [###########################] 100%
 extra                    468.5K    2.0M/s 00:00:00 [###########################] 100%
 community                427.9K 2012.6K/s 00:00:00 [###########################] 100%

But already, look at this (just picked a random package in core toward the top of the list):

]# cat /opt/arch32/var/lib/pacman/sync/core/acl-2.2.49-2/desc
%FILENAME%
acl-2.2.49-2-x86_64.pkg.tar.xz

And sure enough, the next step in the wiki fails:

# pacman --root /opt/arch32 --cachedir /opt/arch32/var/cache/pacman/pkg --config /opt/arch32/pacman.conf -S base base-devel
:: package [pkg-name]-x86_64 does not have a valid architecture

I've tried using

# linux32 pacman --root /opt/arch32 --cachedir /opt/arch32/var/cache/pacman/pkg --config /opt/arch32/pacman.conf -Sy

and

# pacman --root /opt/arch32 --cachedir /opt/arch32/var/cache/pacman/pkg --config /opt/arch32/pacman.conf --arch i686 -Sy

with no success.

The other posts (HERE, HERE, and HERE) seem to be about using pacman from inside the chroot or forgetting the 'Architecture = i686' bit in pacman.conf. I clearly have that.

Why is pacman still getting x86_64 packages?

Last edited by jwhendy (2011-03-23 18:20:21)

Offline

#2 2011-03-23 18:20:08

jwhendy
Member
Registered: 2010-04-01
Posts: 621

Re: [SOLVED] setting up chroot -- wrong architecture errors using pacman

Found the issue. I never recall this happening before, but apparently there was a line in my mirrorlist from my install last night like this:

# Mirror used during installation
Server = http://mirror.rit.edu/archlinux/$repo/os/x86_64

Is that a new feature? Since the 'sed' command in the chroot wiki looks for '$arch' and makes it 'i686', this line got missed. I added a note about this in the WIKI (see note 3b).

Perhaps I didn't notice it or have this issue the last time since I installed with btrfs and did everything manually?

Offline

Board footer

Powered by FluxBB