Monday, July 30, 2012

slackpkg does not work properly in 32-bit chroot environment under Slackware64

I am running Slackware64 13.37 as my main platform, since it is a pure 64-bit system, I run a chroot environment for Slackware to run some 32-bit programs.  But slackpkg does not work as expected.  It downloads the new lists, but when I do slackpkg upgrade-all, it does not found any upgrade packages.
After digging a little bit into slackpkg's source, I found that if I do not define the environment variable ARCH for current architecture, it will find the setting with uname -m, which in this chroot environment, it will be X86_64 and it is not the correct one.  Once I found out this, I issue the following command to get it working as expected:
ARCH=i486 slackpkg --upgrade-all

No comments: