Hello,

I am building a x86-uclibc initramfs images on a amd64-glibc machine.
Here is my make.conf under $PORTAGE_CONFIGROOT:
---
ACCEPT_KEYWORDS="x86"
ARCH="x86"
CFLAGS="-Os -pipe"
CXXFLAGS="${CFLAGS}"
CBUILD="x86_64-pc-linux-gnu"
CHOST="i686-pc-linux-uclibc"
CTARGET="i686-pc-linux-uclibc"
GENTOO_MIRRORS="ftp://ftp.twaren.net/Linux/Gentoo/
ftp://ftp.ncnu.edu.tw/Linux/Gentoo/";
INPUT_DEVICES="keyboard"
MAKEOPTS="-j3"
USE="x86 symlink"
---

Here is my xmerge script for compiling packages:
---
#!/bin/bash
SYSROOT=/usr/i686-pc-linux-uclibc
PORTAGE_CONFIGROOT="${SYSROOT}"

if [[ "$1" == "--root" ]] ; then
        ROOT="$2"
        shift 2
else
        ROOT="${SYSROOT}"
fi
export SYSROOT PORTAGE_CONFIGROOT ROOT

emerge $*
---

When I tried to cross-compile sys-libs/ss (./xmerge --root=somewhere -p ss),
the following error message showed up:
---
These are the packages that would be merged, in order:

Calculating dependencies \
!!! All ebuilds that could satisfy "~sys-libs/com_err-1.40.2" have been
masked.
!!! One of the following masked packages is required to complete your
request:
- sys-libs/com_err-1.40.2 (masked by: ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "sys-libs/ss-1.40.2" [ebuild])
---

It looks like a portage bug since I already set ARCH=x86 in make.conf under
$PORTAGE_CONFIGROOT,
sys-libs/com_err should not be masked by ~amd64 keyword.
Does anybody have nice workaround solution except unmaking sys-libs/com_err
in $PORTAGE_CONFIGROOT/etc/portage/package.unmask?
Thanks in advance.

-siongui

Reply via email to