Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Very odd portage behaviour: arm = missing keyword?? [SOLVED]
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Sun Jan 21, 2007 11:35 pm    Post subject: Very odd portage behaviour: arm = missing keyword?? [SOLVED] Reply with quote

I am currently trying to port gentoo to gumstix computers (check out www.gumstix.com to see why... very cool bit of kit).

I have been trying to put together my own baselayout based on baselayout-lite, however when it came to moving on to udev, I just gave up. Instead I've switched to a full blown baselayout for maximum compatibility with other Gentoo packages.

Here's my setup:

arm-softfloat-linux-uclibc toolchain based on gcc 3.4.6 build with crossdev (tried 4.1.1 but uclibc fails to link against libgcc as it claims libgcc is using VFP instructions... I think this is an eabi related issue but it was easier to switch to 3.4.6 than delve any deeper)

I have setup 2 directories: config-root and root.

I emerge using the following command:
$ ROOT="./root" PORTAGE_CONFIGROOT="./config-root" emerge ...

I've setup a profile, a make.conf, and some etc/portage config files. I'm using busybox, which causes dependency issues. I've overcome these by setting all the virtuals provided by busybox to busybox. However, not everything has virtuals (there's no virtual/coreutils for example) so for these packages, I've been listing them in package.provided. This has worked very well (thank you to whoever introduced this!).

Now my problem. There is a circular dependency between module-init-tools and baselayout. I'm able to overcome this for baselayout by setting the "bootstrap" use flag. So, I now have the following packages installed: baselayout-1.12.9, busybox-1.3.1, hotplug-base-20040401, udev-104 & dropbear-0.48.1

However, when I come to emerge module-init-tools, I get the following:

Code:
$ ROOT="/home/hagra/0projects/gumstix-gentoo/root" PORTAGE_CONFIGROOT="/home/hagra/0projects/gumstix-gentoo/config-root" emerge module-init-tools --pretend -v

These are the packages that would be merged, in order:

Calculating dependencies -
!!! All ebuilds that could satisfy ">=sys-apps/baselayout-1.12.7-r2" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/baselayout-1.12.8-r5 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.12.8-r1 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.12.8-r2 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha11-r2 (masked by: package.mask, ~amd64 keyword)
# Roy Marples <uberlord@gentoo.org> (02 Oct 2006)
# masked for testing due to major ebuild and installation changes

- sys-apps/baselayout-1.13.0_alpha12 (masked by: package.mask, ~amd64 keyword)
- sys-apps/baselayout-1.12.9 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha11-r1 (masked by: package.mask, ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha10-r2 (masked by: package.mask, ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "sys-apps/module-init-tools-3.2.2-r2" [ebuild])


This seems very strange to me. First of all, baselayout-1.12.9 is installed (and listed in root/var/db/pkg). 2nd (more worryingly) it's showing amd64 keywords, not arm keywords.

Something else I've noticed which may be related is how portage is handling "arm" keywords. I.e. packages which are not masked. If a package has been masked by "~arm" it shows up as usual "masked by: ~arm keyword", however if a package is marked as stable, i.e. "arm", portage seems to get very confused and lists it as "masked by: missing keyword".

This has got me stumped. My knowledge of portage's inner workings simply isn't good enough to debug this and I need some help. So... HELP! :-)

Some more info that might be useful:

My portage tree is installed in the usual place (I.e. I've not done a mount --bind to the config-root/usr/portage).
I'm using portage-2.1.1-r2, python-2.4.3-r4 on an amd64/2006.1 host.

I can e-mail a tarball of the make.profile & config-root if necessary.

Cheers!


Last edited by Hagra on Mon Jan 29, 2007 2:32 pm; edited 1 time in total
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Mon Jan 22, 2007 12:04 pm    Post subject: Reply with quote

output of emerge --info (when using ROOT and CONFIGROOT) might be of use here.
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Mon Jan 22, 2007 8:13 pm    Post subject: Reply with quote

I've tried it with CTARGET set to arm-softfloat-linux-uclibc and with CTARGET unset. Both result in the same problem. Anyway, here's the output of emerge --info:

Code:

$ ROOT="/home/hagra/0projects/gumstix-gentoo/root" PORTAGE_CONFIGROOT="/home/hagra/0projects/gumstix-gentoo/config-root" emerge --info
Portage 2.1.1-r2 (!../../gumstix-profile, gcc-3.4.6, unavailable, 2.6.18-gentoo-r2 x86_64)
=================================================================
System uname: 2.6.18-gentoo-r2 x86_64 AMD Opteron(tm) Processor 240
Gentoo Base System version 1.12.6
Last Sync: Sat, 20 Jan 2007 13:30:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS=""
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -Os -march=armv5te -mtune=iwmmxt -Wa,-mcpu=iwmmxt"
CHOST="arm-softfloat-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CTARGET="arm-softfloat-linux-uclibc"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="arm bluetooth minimal uclibc wifi"
Unset:  CXXFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS



Hope that sheds some light on the problem. I'm curious about the "virtual/os-headers: 2.6.11-r2" line. Both my target and my build machine use 2.6.18 kernels. Does this 2.6.11-r2 come from my 2006.1 profile?


Cheers!
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Mon Jan 22, 2007 11:22 pm    Post subject: Reply with quote

Code:
ACCEPT_KEYWORDS=""

That would explain your keyword problems. You should add ACCEPT_KEYWORDS="arm" in make.defaults when you're using a custom profile.
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Tue Jan 23, 2007 7:26 pm    Post subject: Reply with quote

Thanks for the tip, but sadly it's still producing the error. If I do an emerge --info now, I get the following output:

Code:

$ ROOT="/home/hagra/0projects/gumstix-gentoo/root" PORTAGE_CONFIGROOT="/home/hagra/0projects/gumstix-gentoo/config-root" emerge module-init-tools --info
Portage 2.1.1-r2 (!../../gumstix-profile, gcc-3.4.6, unavailable, 2.6.18-gentoo-r2 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: 2.6.18-gentoo-r2 x86_64 AMD Opteron(tm) Processor 240
Gentoo Base System version 1.12.6
Last Sync: Sat, 20 Jan 2007 13:30:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="arm"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -Os -march=armv5te -mtune=iwmmxt -Wa,-mcpu=iwmmxt"
CHOST="arm-softfloat-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CTARGET="arm-softfloat-linux-uclibc"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="arm bluetooth minimal uclibc wifi"
Unset:  CXXFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS

Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Tue Jan 23, 2007 7:53 pm    Post subject: Reply with quote

Exactly the same (with "masked by ~amd64 keyword")?
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Tue Jan 23, 2007 11:14 pm    Post subject: Reply with quote

Yup... This does seem to only happen when emerging module-init-tools. I've emerged udev successfully, which also depends on baselayout.


Code:

$ ROOT="/home/hagra/0projects/gumstix-gentoo/root" PORTAGE_CONFIGROOT="/home/hagra/0projects/gumstix-gentoo/config-root" emerge module-init-tools --pretend -v

These are the packages that would be merged, in order:

Calculating dependencies -
!!! All ebuilds that could satisfy ">=sys-apps/baselayout-1.12.7-r2" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/baselayout-1.12.8-r5 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.12.8-r1 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.12.8-r2 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha11-r2 (masked by: package.mask, ~amd64 keyword)
# Roy Marples <uberlord@gentoo.org> (02 Oct 2006)
# masked for testing due to major ebuild and installation changes

- sys-apps/baselayout-1.13.0_alpha12 (masked by: package.mask, ~amd64 keyword)
- sys-apps/baselayout-1.12.9 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha11-r1 (masked by: package.mask, ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha10-r2 (masked by: package.mask, ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "sys-apps/module-init-tools-3.2.2-r2" [ebuild])

root@Amber make.profile $



Having said that, the other problem with emerge not emerging packages marked as stable has been solved, which I guess is not a big shock really. Doh! :-)

Cheers!
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Wed Jan 24, 2007 2:26 pm    Post subject: Reply with quote

Bump
Back to top
View user's profile Send private message
aryaniae
n00b
n00b


Joined: 18 Sep 2006
Posts: 40
Location: Sunnyvale, CA U.S.A.

PostPosted: Wed Jan 24, 2007 6:42 pm    Post subject: Reply with quote

Not entirely sure on this, but usually when portage gives me a "masked by: missing keyword" error, it means that package doesn't support the arch I'm building for.

Just to be sure, emerge --info *does* say ACCEPT_KEYWORS="arm" now, yes?
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Wed Jan 24, 2007 11:05 pm    Post subject: Reply with quote

Yes
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Thu Jan 25, 2007 5:58 pm    Post subject: Reply with quote

Bump
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Thu Jan 25, 2007 6:04 pm    Post subject: Reply with quote

Ok, just to make sure I'm understanding this right:
This error just happens with module-init-tools, a `emerge -p baselayout` works fine?
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Thu Jan 25, 2007 10:11 pm    Post subject: Reply with quote

That's correct, baselayout (with the bootstrap use flag enabled) emerges fine, as does hotplug-base-20040401, udev-104 & dropbear-0.48.1. If I look in the root dir I see a full directory tree with everything I'd expect. It's only when I try to emerge module-init-tools that it falls over. I've tried it with and without bootstrap for baselayout in package.use.

I've also tried editing package.keywords and playing around with the baselayout line (including putting in amd64 and ~amd64... just to see what would happen). Reguardless of what I do, it still gives the same "masked by: ~amd64 keyword" style errors.

I can put together a tarball of the profile & config-root I'm using if you would like?

Thanks!
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Thu Jan 25, 2007 10:48 pm    Post subject: Reply with quote

Very odd, such behavior is impossible in theory, unless there is some very strange bash foo involved. For debugging I'd probably need the following:
- contents of your PORTAGE_CONFIGROOT
- contents of your profile
- output of `declare -f`
- output of `alias`
- output of the failing command with FEATURES=python-trace enabled and --debug in options
Though before you could try if this happens with an empty ROOT and CONFIGROOT (with just the bare minimum) as well and/or if it's persistent with portage-2.1.2.
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Sat Jan 27, 2007 4:55 pm    Post subject: Reply with quote

I've spend a while working on this and it isn't just arm this applies to. I think this is due to a bug in the module-init-tools-3.2.2-r2 ebuild, or at least how it's being processed.

You don't need a very complicated setup to recreate this, in fact just the following directory tree and a single file:

Directory tree:
Code:

-test
  |-->make.profile\
  |       |----->make.defaults
  |--->config-root\
  |       |----->etc\
  |              |------>make.globals (copied from /etc of host pc)
  |              |------>make.profile (This is just a sym-link to ../../make.profile)
  |--->root\


The only file you need to create is make.defaults, and here it is:
Code:

ARCH="arm"
ACCEPT_KEYWORDS="arm"


Now cd into the "test" dir and execute:
"ROOT="./root" PORTAGE_CONFIGROOT="./config-root" emerge module-init-tools --pretend"

Hopefully (for me) you should see a similar list of masked packages with your host arch's keywords listed.

Note, this also affects ppc64 and s390. This is why I think it is a bug with module-init-tools-3.2.2-r2, as it is unmasked for arm, ppc64 and s390.

If you go strait into the portage tree and mark module-init-tools-3.2.2-r2 with ~arm, the problem (almost) goes away. Actually it doesn't, because it drops to module-init-tools-3.2.2-r1, which requires >=sys-apps/baselayout-1.12.0_pre19, which gets satisfied by baselayout-1.12.8-r5 (which is unmasked for arm) which in turn depends on module-init-tools-3.2.2-r2. However, adding USE="bootstrap" before the emerge line will remove baselayout-1.12.8-r5's dependency on module-init-tools-3.2.2-r1.

I'm not sure if this IS module-init-tools-3.2.2-r2 or not, and if it is, I can't see anything wrong with it. :-(


Last edited by Hagra on Sat Jan 27, 2007 5:09 pm; edited 1 time in total
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Sat Jan 27, 2007 5:09 pm    Post subject: Reply with quote

After a bit more thinking and digging, I actually don't think it's module-init-tools as all. The only major difference between -r1 and -r2 were the versions of baselayout they depend on. I now think it's something to do with base layout.

If you edit module-init-tools-3.2.2-r2 (after making sure it's unmasked) and change the the verson of baselayout in the DEPEND variable to ">=sys-apps/baselayout-1.12.6" it works. switching it for the next lastest version in the portage tree (sys-apps/baselayout-1.12.8-r1) then breaks it again.

So, when portage parses the baselayout-1.12.8-r1 and later ebuilds, something goes wrong. :-)
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Sat Jan 27, 2007 7:22 pm    Post subject: Reply with quote

Sorry, can't confirm your problem here:
Code:
$ ROOT=./root PORTAGE_CONFIGROOT=./configroot/ emerge -p module-init-tools

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] sys-libs/zlib-1.2.3-r1 to root/ USE="-build"
[ebuild  N    ] sys-libs/ncurses-5.5-r3 to root/ USE="-bootstrap -build -debug -doc -gpm -minimal -nocxx -trace -unicode"
[ebuild  N    ] sys-apps/sysvinit-2.86-r7 to root/ USE="(-ibm) (-selinux) -static"
[ebuild  N    ] app-shells/bash-3.1_p17 to root/ USE="-afs -bashlogger (-nls) -vanilla"
[ebuild  N    ] sys-apps/coreutils-6.7-r1 to root/ USE="-acl (-nls) (-selinux) -static"
[ebuild  N    ] virtual/init-0 to root/
[ebuild  N    ] sys-libs/readline-5.1_p4 to root/
[ebuild  N    ] sys-apps/baselayout-1.12.8-r5 to root/ USE="-bootstrap -build -static -unicode"
[ebuild  N    ] sys-apps/module-init-tools-3.2.2-r2 to root/ USE="-no-old-linux"

$ ROOT=./root PORTDIR=/srv/portage/porttree PORTAGE_CONFIGROOT=./configroot/ emerge --info             
Portage 2.1.2-r4 (uclibc/arm, gcc-4.1.1, unavailable, 2.6.17-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.17-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+
Unknown Host Operating System
Timestamp of tree: Sat, 27 Jan 2007 03:00:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r3
dev-lang/python:     2.4.4, 2.5-r1
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
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
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.19.2-r1
ACCEPT_KEYWORDS="arm"
AUTOCLEAN="yes"
CBUILD="set-CHOST-in-your-/etc/make.conf"
CFLAGS="-Os"
CHOST="set-CHOST-in-your-/etc/make.conf"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-Os"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer nodoc noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/srv/portage/porttree"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="arm bitmap-fonts cli cracklib dlloader dri ncurses pcre readline reflection session spl truetype-fonts type1-fonts uclibc xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Sat Jan 27, 2007 10:35 pm    Post subject: Reply with quote

I guess it must be something in my config somewhere then as I still get the error, even after upgrading to portage 2.1.2-r4. Where have all those use flags come from in your emerge --info? Mine only shows USE="arm".

First, the output with --debug (adding FEATURES="python-trace" adds too much debug to post here):
Code:

root@Amber 6 $ ROOT="./root" PORTAGE_CONFIGROOT="./config-root" emerge module-init-tools --pretend --debug
myaction None
myopts {'--pretend': True, '--debug': True}

These are the packages that would be merged, in order:

Calculating dependencies
Parent:    None
Depstring: sys-apps/module-init-tools
Priority: soft
Candidates: ['sys-apps/module-init-tools']
   ebuild: sys-apps/module-init-tools-3.2.2-r2

Parent:    ('ebuild', 'root/', 'sys-apps/module-init-tools-3.2.2-r2', 'merge')
Depstring: sys-libs/zlib >=sys-apps/baselayout-1.12.8 !virtual/modutils >=sys-apps/sed-4
Priority: hard
Candidates: ['sys-libs/zlib', '!sys-apps/module-init-tools', '>=sys-apps/baselayout-1.12.8', '>=sys-apps/sed-4']

!!! All ebuilds that could satisfy ">=sys-apps/baselayout-1.12.8" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/baselayout-1.12.8-r5 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.12.8-r1 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.12.8-r2 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha11-r2 (masked by: package.mask, ~amd64 keyword)
# Roy Marples <uberlord@gentoo.org> (02 Oct 2006)
# masked for testing due to major ebuild and installation changes

- sys-apps/baselayout-1.13.0_alpha12 (masked by: package.mask, ~amd64 keyword)
- sys-apps/baselayout-1.12.9 (masked by: ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha11-r1 (masked by: package.mask, ~amd64 keyword)
- sys-apps/baselayout-1.13.0_alpha10-r2 (masked by: package.mask, ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "sys-apps/module-init-tools-3.2.2-r2" [ebuild])

root@Amber 6 $ 



Now emerge --info:
Code:

root@Amber 6 $ ROOT="./root" PORTAGE_CONFIGROOT="./config-root" emerge --info
Portage 2.1.2-r4 (!../../make.profile, gcc-3.4.6, unavailable, 2.6.18-gentoo-r2 x86_64)
=================================================================
System uname: 2.6.18-gentoo-r2 x86_64 AMD Opteron(tm) Processor 240
Unknown Host Operating System
Timestamp of tree: Sat, 27 Jan 2007 15:31:01 +0000
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="arm"
AUTOCLEAN="yes"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="arm"
Unset:  CBUILD, CFLAGS, CHOST, CTARGET, CXXFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

root@Amber 6 $


Output of "alias":
Code:

root@Amber 6 $ alias
alias grep='grep --colour=auto'
alias ls='ls --color=auto'
root@Amber 6 $


Does that shed any light on the problem?

PS: Thanks for taking the time to try and help.
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Sat Jan 27, 2007 11:26 pm    Post subject: Reply with quote

Hagra wrote:
I guess it must be something in my config somewhere then as I still get the error, even after upgrading to portage 2.1.2-r4. Where have all those use flags come from in your emerge --info? Mine only shows USE="arm".

Well, I was lazy and just used the uclibc/arm profile instead of making my own, doesn't matter as the only interesting vars are ARCH and ACCEPT_KEYWORDS here.

Quote:
First, the output with --debug (adding FEATURES="python-trace" adds too much debug to post here):

Unfortunately useless without python-trace. The rest looks ok so far.
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Sun Jan 28, 2007 9:09 am    Post subject: Reply with quote

Would you mind if I e-mailed you the output with python-trace turned on?
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Sun Jan 28, 2007 9:46 am    Post subject: Reply with quote

Hagra wrote:
Would you mind if I e-mailed you the output with python-trace turned on?

If you can upload it somewhere (ftp/http) that would be preferable, but if not email should also work (not sure if there are any size limitations in place).
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Sun Jan 28, 2007 12:46 pm    Post subject: Reply with quote

the output from emerge with FEATURES="python-debug" ran up to 95MB!!! This has gzip'd down to 4.7MB, but still too big to e-mail, so I've put it up at: http://www.tomcooksey.me.uk/emerge-debug.gz

I've also put up the output from declare -f: http://www.tomcooksey.me.uk/declare-f.gz

I hope you can decipher that 97MB of debug!


Thanks again!
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Sun Jan 28, 2007 11:47 pm    Post subject: Reply with quote

Ok, after checking with Zac I think I have an idea what's happening (though not 100% sure):
- module-init-tools has a DEPEND on baselayout
- portage has to merge the DEPEND to / (instead of $ROOT)
- packages merged to / use the configuration of / (instead of $CONFIGROOT)
- your / configuration has ARCH=amd64, so getmaskingstatus() reports the package as "masked by ~amd64"

So unmasking it in /etc/portage/package.keywords should help.
Back to top
View user's profile Send private message
Hagra
n00b
n00b


Joined: 24 Jun 2004
Posts: 74

PostPosted: Mon Jan 29, 2007 12:30 am    Post subject: Reply with quote

Why does "portage has to merge the DEPEND to / (instead of $ROOT) "? Surely everything should run from $ROOT if it's set?

Why did this not show up when you tried it?

When you say I should unmask it in /etc/portage/package.keywords, do you mean /etc/portage/package.keywords? Or do you mean $PORTAGE_CONFIGROOT/etc/portage/package.keywords? What do I unmask? Both module-init-tools and baselayout? I've tried unmasking them both in packages.keywords (in my config-root) and the error still occurs.

The thing I don't understand is that there's an unmasked version of both module-init-tools (3.2.2-r2) and baselayout (1.12.8-r5) which satisfy the dependencies. I don't see how completely unmasking these packages will change anything? In fact, for both baselayout and module-init-tools, the latest unmasked version is higher for arm than it is for amd64.

Please don't think me ungrateful, I fully appreciate the time you've gone to trying to fix my problem. I just don't understand properly. :oops:

I'm going to try this on my PC at work tomorrow to see if I can recreate it on a different install.
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9559
Location: beyond the rim

PostPosted: Mon Jan 29, 2007 6:21 am    Post subject: Reply with quote

Hagra wrote:
Why does "portage has to merge the DEPEND to / (instead of $ROOT) "?

Well, DEPEND is for stuff that's needed by the ebuild to build a package (not to be confused with the actual runtime dependencies in RDEPEND), and installing that into $ROOT would just cause trouble. If you think about, you don't really want gcc merged into $ROOT for an embedded system, do you? Also the build tools must be built for the host architecture, e.g. if an ebuild uses sed for modifying a header file before compilation you can't use a sed binary that was built for arm (when your host is amd64).
Quote:
Surely everything should run from $ROOT if it's set?

In the final image, everything needed runs from $ROOT. But stuff that's only needed to get to the final image (e.g. gcc, autoconf, make, ...) doesn't belong there.
Quote:
Why did this not show up when you tried it?

Probably because my host configuration has ACCEPT_KEYWORDS="~amd64" while yours only has ACCEPT_KEYWORDS="amd64" and I didn't check for that.
Quote:
When you say I should unmask it in /etc/portage/package.keywords, do you mean /etc/portage/package.keywords? Or do you mean $PORTAGE_CONFIGROOT/etc/portage/package.keywords?

The first.
Quote:
What do I unmask? Both module-init-tools and baselayout?

Just baselayout, as module-init-tools isn't masked.
Quote:
The thing I don't understand is that there's an unmasked version of both module-init-tools (3.2.2-r2) and baselayout (1.12.8-r5) which satisfy the dependencies. I don't see how completely unmasking these packages will change anything? In fact, for both baselayout and module-init-tools, the latest unmasked version is higher for arm than it is for amd64.

Well, the situation is this:
module-init-tools-3.2.2-r2 has KEYWORDS="arm ~amd64", will be merged to $ROOT and therefore portage uses ACCEPT_KEYWORDS="arm" (from $CONFIGROOT), so it's not masked
baselayout-1.12.8-r5 has KEYWORDS="arm ~amd64", but will be merged to / and therefore portage uses ACCEPT_KEYWORDS="amd64" (from /), so it's masked

Yes, this is confusing (I only realized it because I noticed in the debug log that portage was using two different values for $ARCH), but it makes sense (once you understood why some packages have to be merged to / instead of $ROOT).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum