1 |
Hello, |
2 |
|
3 |
I am building a x86-uclibc initramfs images on a amd64-glibc machine. |
4 |
Here is my make.conf under $PORTAGE_CONFIGROOT: |
5 |
--- |
6 |
ACCEPT_KEYWORDS="x86" |
7 |
ARCH="x86" |
8 |
CFLAGS="-Os -pipe" |
9 |
CXXFLAGS="${CFLAGS}" |
10 |
CBUILD="x86_64-pc-linux-gnu" |
11 |
CHOST="i686-pc-linux-uclibc" |
12 |
CTARGET="i686-pc-linux-uclibc" |
13 |
GENTOO_MIRRORS="ftp://ftp.twaren.net/Linux/Gentoo/ |
14 |
ftp://ftp.ncnu.edu.tw/Linux/Gentoo/" |
15 |
INPUT_DEVICES="keyboard" |
16 |
MAKEOPTS="-j3" |
17 |
USE="x86 symlink" |
18 |
--- |
19 |
|
20 |
Here is my xmerge script for compiling packages: |
21 |
--- |
22 |
#!/bin/bash |
23 |
SYSROOT=/usr/i686-pc-linux-uclibc |
24 |
PORTAGE_CONFIGROOT="${SYSROOT}" |
25 |
|
26 |
if [[ "$1" == "--root" ]] ; then |
27 |
ROOT="$2" |
28 |
shift 2 |
29 |
else |
30 |
ROOT="${SYSROOT}" |
31 |
fi |
32 |
export SYSROOT PORTAGE_CONFIGROOT ROOT |
33 |
|
34 |
emerge $* |
35 |
--- |
36 |
|
37 |
When I tried to cross-compile sys-libs/ss (./xmerge --root=somewhere -p ss), |
38 |
the following error message showed up: |
39 |
--- |
40 |
These are the packages that would be merged, in order: |
41 |
|
42 |
Calculating dependencies \ |
43 |
!!! All ebuilds that could satisfy "~sys-libs/com_err-1.40.2" have been |
44 |
masked. |
45 |
!!! One of the following masked packages is required to complete your |
46 |
request: |
47 |
- sys-libs/com_err-1.40.2 (masked by: ~amd64 keyword) |
48 |
|
49 |
For more information, see MASKED PACKAGES section in the emerge man page or |
50 |
refer to the Gentoo Handbook. |
51 |
(dependency required by "sys-libs/ss-1.40.2" [ebuild]) |
52 |
--- |
53 |
|
54 |
It looks like a portage bug since I already set ARCH=x86 in make.conf under |
55 |
$PORTAGE_CONFIGROOT, |
56 |
sys-libs/com_err should not be masked by ~amd64 keyword. |
57 |
Does anybody have nice workaround solution except unmaking sys-libs/com_err |
58 |
in $PORTAGE_CONFIGROOT/etc/portage/package.unmask? |
59 |
Thanks in advance. |
60 |
|
61 |
-siongui |