Gentoo Archives: gentoo-embedded

From: Dave Bender <codehero@×××××.com>
To: Ned Ludd <solar@g.o>
Cc: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] Emerging into SYSROOT causes packages to install in host system
Date: Mon, 28 Apr 2008 18:47:29
Message-Id: 1fe498980804281147q7d988f29g6d13ccab30ebdb2b@mail.gmail.com
In Reply to: Re: [gentoo-embedded] Emerging into SYSROOT causes packages to install in host system by Dave Bender
1 Extended report:
2
3 As I mention in my earlier email, build host is x86_64, target is x86
4 (specifically c3 processor).
5 The xmerge command is an exact duplicate of the one presented in the
6 gentoo embedded handbook.
7
8 Here is what I do (play by play):
9
10 export SYSROOT=/usr/i686-pc-linux-gnu
11 export ac_cv_func_malloc_0_nonnull=yes
12 export ac_cv_func_calloc_0_nonnull=yes
13 export ac_cv_func_realloc_0_nonnull=yes
14
15 I have added the following to SYSROOT directory:
16
17 /etc/make.conf
18 /etc/make.globals -> /etc/make.globals
19 /etc/make.profile -> /usr/portage/profiles/default-linux/x86/2007.0
20 /etc/portage/package.keywords
21
22 Contents of /etc/make.conf
23
24 CFLAGS="-march=c3 -O2 -pipe -fomit-frame-pointer"
25 CHOST="i686-pc-linux-gnu"
26 CXXFLAGS="${CFLAGS}"
27 MAKEOPTS="-j3"
28 ACCEPT_KEYWORDS=""
29 USE="hal dbus unicode mmx cups jpeg ncurses nls nptl nptlonly pam pdf
30 pdflib png posix ssl tcpd tiff udev userland_GNU x86 zlib -python
31 -ipv6 -gtk -gtk2 -gnome -kde -qt -qt3 -qt4 -X -perl"
32 FEATURES="nodoc"
33 INPUT_DEVICES=""
34 VIDEO_CARDS=""
35 LINGUAS="en_US es_MX zh_CN"
36
37 /etc/portage/package.keywords
38 sys-apps/baselayout ~x86
39 sys-apps/openrc ~x86
40
41 When I run the emerge command:
42
43 embedded # ./xmerge baselayout -vp
44
45 These are the packages that would be merged, in order:
46
47 Calculating dependencies |
48 !!! All ebuilds that could satisfy ">=sys-apps/baselayout-2.0.0" have
49 been masked.
50 !!! One of the following masked packages is required to complete your request:
51 - sys-apps/baselayout-2.0.0 (masked by: ~amd64 keyword)
52
53 For more information, see MASKED PACKAGES section in the emerge man page or
54 refer to the Gentoo Handbook.
55 (dependency required by "sys-apps/openrc-0.2.2" [ebuild])
56
57
58 So baselayout appears to be masked by ~amd64 keyword, which should be
59 irrelevant for cross compiling.
60
61 Thanks,
62 Dave
63
64 Other notes:
65
66 SYSROOT is populated with a /var and /tmp directory. /var contains
67 further subdirectories.
68
69 Here is the output of xmerge ---info
70
71 Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.2.3, unavailable,
72 2.6.23-gentoo-r3 x86_64)
73 =================================================================
74 System uname: 2.6.23-gentoo-r3 x86_64 AMD Athlon(tm) 64 X2 Dual Core
75 Processor 3800+
76 Timestamp of tree: Mon, 28 Apr 2008 01:34:01 +0000
77 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port
78 3632) [disabled]
79 app-shells/bash: 3.2_p17-r1
80 dev-lang/python: 2.4.4-r9
81 dev-python/pycrypto: 2.0.1-r6
82 sys-apps/baselayout: 1.12.11.1
83 sys-apps/sandbox: 1.2.18.1-r2
84 sys-devel/autoconf: 2.13, 2.61-r1
85 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
86 sys-devel/binutils: 2.18-r1
87 sys-devel/gcc-config: 1.4.0-r4
88 sys-devel/libtool: 1.5.26
89 virtual/os-headers: 2.6.25-r1
90 ACCEPT_KEYWORDS="x86"
91 CBUILD="x86_64-pc-linux-gnu"
92 CFLAGS="-march=c3 -O2 -pipe -fomit-frame-pointer"
93 CHOST="i686-pc-linux-gnu"
94 CONFIG_PROTECT="/etc"
95 CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild
96 /etc/terminfo /etc/udev/rules.d"
97 CXXFLAGS="-march=c3 -O2 -pipe -fomit-frame-pointer"
98 DISTDIR="/usr/portage/distfiles"
99 FEATURES="distlocks metadata-transfer nodoc sandbox sfperms strict
100 unmerge-orphans userfetch"
101 GENTOO_MIRRORS="http://distfiles.gentoo.org
102 http://distro.ibiblio.org/pub/linux/distributions/gentoo"
103 LINGUAS="en_US es_MX zh_CN"
104 MAKEOPTS="-j3"
105 PKGDIR="/usr/portage/packages"
106 PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times
107 --compress --force --whole-file --delete --stats --timeout=180
108 --exclude=/distfiles --exclude=/local --exclude=/packages"
109 PORTAGE_TMPDIR="/var/tmp"
110 PORTDIR="/usr/portage"
111 SYNC="rsync://rsync.gentoo.org/gentoo-portage"
112 USE="acl berkdb cli cracklib crypt cups dbus dri fortran gdbm gpm hal
113 iconv isdnlog jpeg midi mmx mudflap ncurses nls nptl nptlonly openmp
114 pam pcre pdf pdflib png posix pppd readline reflection session spl ssl
115 tcpd tiff udev unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000
116 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370
117 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3
118 trident usb-audio via82xx via82xx-modem ymfpci"
119 ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty
120 extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw
121 multi null plug rate route share shm softvol" APACHE2_MODULES="actions
122 alias auth_basic authn_alias authn_anon authn_dbm authn_default
123 authn_file authz_dbm authz_default authz_groupfile authz_host
124 authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir
125 disk_cache env expires ext_filter file_cache filter headers include
126 info log_config logio mem_cache mime mime_magic negotiation rewrite
127 setenvif speling status unique_id userdir usertrack vhost_alias"
128 ELIBC="glibc" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk
129 hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US es_MX zh_CN"
130 USERLAND="GNU"
131 Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG,
132 LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS,
133 PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
134
135 On Mon, Apr 28, 2008 at 1:29 PM, Dave Bender <codehero@×××××.com> wrote:
136 > Ned,
137 > That is exactly the behaviour I see when I try to emerge other
138 > packages like Xorg or cups on my server system. A year ago, I heard
139 > the workaround is to determine all dependencies of a package and then
140 > emerge each one with no-deps. That doesn't seem to be in the handbook
141 > however.
142 >
143 > Dave
144 >
145 > On Mon, Apr 28, 2008 at 12:54 PM, Ned Ludd <solar@g.o> wrote:
146 > >
147 > >
148 >
149 >
150 > > On Mon, 2008-04-28 at 05:45 -0400, Mike Frysinger wrote:
151 > > > On Sunday 27 April 2008, Dave Bender wrote:
152 > > > > I am attempting to cross compile x86 packages on an x86_64 host. In
153 > > > > particular, when I attempt to emerge baselayout-2 into my SYSROOT path,
154 > > > > emerge wants to emerge baselayout-2 into my host system. PORTAGE_CONFIGROOT
155 > > > > is also set to the SYSROOT, so I do not understand why for example,
156 > > > > package.mask on my host system is taken into account at all when emerge
157 > > > > determines dependencies.
158 > > > > I am following the instructions in Chapter 5 of the Embedded Gentoo
159 > > > > Handbook to the letter and do not understand why this behaviour is
160 > > > > occurring.
161 > > >
162 > > > please post the exact commands as well as resulting output. us guessing at
163 > > > what exactly you're doing simply causes confusion and wastes yours and our
164 > > > time.
165 > >
166 > > Mike, actually I think I know the bug he is hitting.
167 > > If portage sees that you have a dep not installed on / even if you pass
168 > > ROOT=/somedir SYSCONFIG=/usr/$CTARGET ARCH=arm CHOST=arm-something
169 > > emerge -pvq someapp ; you will get
170 > > [ebuild N ] app-foo/bar
171 > > [ebuild N ] app-foo/bar $ROOT
172 > >
173 > > So if you are using a wrapper and blindly start merging.. Cross compiled
174 > > shit will end up on / despite you not asking for it. Zac says this is
175 > > current expected behavior but I'd outright call it the most fscked up
176 > > portage behavior ever along with the recent INSTALL_MASK= no longer
177 > > working when using -K
178 > >
179 > >
180 >
181 --
182 gentoo-embedded@l.g.o mailing list

Replies