Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 173075 - Portage 2.1.2.2 broken on amd64 with 32bit userland
Summary: Portage 2.1.2.2 broken on amd64 with 32bit userland
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 124816
  Show dependency tree
 
Reported: 2007-04-02 02:17 UTC by Christoph Mende (RETIRED)
Modified: 2007-05-19 19:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Mende (RETIRED) gentoo-dev 2007-04-02 02:17:38 UTC
odin / # emerge portage
Traceback (most recent call last):
  File "/usr/bin/emerge", line 50, in ?
    from portage_util import normalize_path as normpath
ImportError: cannot import name normalize_path

Seems like Portage 2.1.2.2 wants to access files in /usr/lib, even though they're installed in /usr/lib32, as it started working again after I changed the /usr/lib symlink from lib->lib64 to lib->lib32.

Using ~arch Portage (2.1.2.3) spits out a different error:
Traceback (most recent call last):
  File "/usr/bin/emerge", line 5509, in ?
    retval = emerge_main()
  File "/usr/bin/emerge", line 5211, in emerge_main
    settings, trees, mtimedb = load_emerge_config()
  File "/usr/bin/emerge", line 5096, in load_emerge_config
    trees = portage.create_trees(trees=trees, **kwargs)
  File "/usr/lib/portage/pym/portage.py", line 6780, in create_trees
    config_incrementals=portage_const.INCREMENTALS)
  File "/usr/lib/portage/pym/portage.py", line 829, in __init__
    config_root = \
  File "/usr/lib/portage/pym/portage_util.py", line 35, in normalize_path
    if mypath.startswith(os.path.sep):
AttributeError: 'NoneType' object has no attribute 'startswith'

Downgrading to 2.1.1-r2 fixes the problem.

Portage 2.1.1-r2 (default-linux/amd64/dev/32bit-userland, gcc-4.1.1, glibc-2.4-r3, 2.6.20-beyond2 x86_64)
=================================================================
System uname: 2.6.20-beyond2 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4600+
Gentoo Base System version 1.12.1
Last Sync: Sun, 01 Apr 2007 11:50:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
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.61
sys-devel/automake:  1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer multilib-strict noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ ftp://pandemonium.tiscali.de/pub/gentoo/ "
LANG="en_US.ISO8859-15"
LC_ALL="en_US.ISO8859-15"
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="amd64 alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol berkdb bindist bitmap-fonts cli cracklib crypt cups dri elibc_glibc fortran gdbm gpm iconv input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text libg++ midi ncurses nls nptl nptlonly pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts unicode userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i810 video_cards_mga video_cards_neomagic video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Zac Medico gentoo-dev 2007-04-02 07:41:32 UTC
I've tested and everything seems to work fine with portage-2.1.2.3 if you run `source /etc/profile` after it's installed.  The problem is that the instructions in default-linux/amd64/dev/32bit-userland/README tell you to run the following command:

find /usr/lib64 /lib64 -exec touch {} \;

When you do that, it changes the timestamps on the old version of portage and prevents it from being properly unmerged.  If you don't run `source /etc/profile` to update the PYTHONPATH environment variable, it causes emerge to import the old portage libraries that are still installed.

As a solution for this bug, I'd recommend to update the 32bit-userland README with a note that people who upgrade to >=portage-2.1.2.2 need to run `source /etc/profile` afterwards.
Comment 2 Zac Medico gentoo-dev 2007-04-02 08:10:52 UTC
If /usr/lib does not point to lib32 then you'll need at least portage-2.1.2.3 in order for etc-update to work properly (bug 170178).
Comment 3 Christoph Mende (RETIRED) gentoo-dev 2007-04-02 12:08:49 UTC
`source /etc/profile` fixed it here too, I have to use Portage 2.1.2.3 though, since changing the /usr/lib symlink to lib32 breaks my toolchain as long as gcc and glibc fail to emerge
So adding that source thingy and a note that portage-2.1.2.3 is needed to the README sounds like a good idea, amd64 is already on CC
/me pings blubb
Comment 4 Christian Faulhammer (RETIRED) gentoo-dev 2007-05-19 19:30:51 UTC
fixed as 2.1.2.7 is stable now.