I'm trying to bootstrap Gentoo Prefix on OpenSolaris 2008.05 (Solaris 5.11) The current version in bootstrap-prefix.sh, 2.2.00.10347 works fine. However after the initial bootstrap and updating via emerge to either of the two recent versions, 2.2.00.10385 and 2.2.00.10418, emerge gives: mattm@opensolaris:~# emerge Traceback (most recent call last): File "/opt/hwbp/usr/bin/emerge", line 20, in <module> retval = _emerge.emerge_main() File "/opt/hwbp/usr/lib/portage/pym/_emerge/__init__.py", line 8804, in emerge_main settings, trees, mtimedb = load_emerge_config() File "/opt/hwbp/usr/lib/portage/pym/_emerge/__init__.py", line 8682, in load_emerge_config trees = portage.create_trees(trees=trees, **kwargs) File "/opt/hwbp/usr/lib/portage/pym/portage/__init__.py", line 6674, in create_trees config_incrementals=portage.const.INCREMENTALS) File "/opt/hwbp/usr/lib/portage/pym/portage/__init__.py", line 1283, in __init__ if target_root is None and "ROOT" in make_conf: TypeError: argument of type 'NoneType' is not iterable My current workaround is to restore 10347 using bootstrap-prefix.sh, and masking versions >2.2.00.10347. Otherwise, version 2.2.00.10418 works OK for me on amd64/x86-linux. Reproducible: Always
what is your profile currently set to?
make.profile -> /opt/hwbp/usr/portage/profiles/default-prefix/sunos/solaris/5.11/x86 emerge --info from 10347: mattm@opensolaris:/opt/hwbp/etc# emerge --info Portage 2.2.00.10347-prefix (default-prefix/sunos/solaris/5.11/x86, gcc-4.2.4, unavailable, 5.11 i86pc) ================================================================= System uname: 5.11 i86pc i386 Timestamp of tree: Tue, 03 Jun 2008 06:52:09 +0000 app-shells/bash: 3.2_p39 dev-lang/python: 2.5.2-r4 sys-devel/autoconf: 2.61-r01.1 sys-devel/automake: 1.10.1-r1 sys-devel/binutils: 2.18.50.0.7 sys-devel/gcc-config: 1.4.0-r04.3 sys-devel/libtool: 1.5.26 ACCEPT_KEYWORDS="~x86-solaris" CBUILD="i386-pc-solaris2.11" CFLAGS="-O2 -pipe" CHOST="i386-pc-solaris2.11" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/opt/hwbp/usr/portage/distfiles" EPREFIX="/opt/hwbp" FEATURES="collision-protect distlocks nostrip parallel-fetch preserve-libs sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.UTF-8" LDFLAGS="" PKGDIR="/opt/hwbp/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/opt/hwbp/var/tmp" PORTDIR="/opt/hwbp/usr/portage" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="cracklib midi ncurses prefix readline ssl unicode x86-solaris 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" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="SunOS" INPUT_DEVICES="keyboard mouse" KERNEL="SunOS" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Do you have a $EPREFIX/etc/make.conf and if you do, does it contain anything? I suspect this is due to an empty/non-existing make.conf, as make_conf is apparently "nothing". CC-ing dev-portage as they may be interested in fixing this too.
I can't really reproduce this on my Solaris 11 installation.
Created attachment 155549 [details, diff] Avoid TypeError when make.conf is missing This patch is in trunk r10582.
(In reply to comment #3) > Do you have a $EPREFIX/etc/make.conf and if you do, does it contain anything? > > I suspect this is due to an empty/non-existing make.conf, as make_conf is > apparently "nothing". > > CC-ing dev-portage as they may be interested in fixing this too. > Ahh, yes I didn't have an $EPREFIX/etc/make.conf (I was folling the Solaris 10 bootstrap instructions, the point I was up to was Code Listing 1.13 and if you follow the guide too literally like me, a make.conf isn't made until Code Listing 1.15) Still get the error with the new version, 2.2.00.10577, but just having an empty make.conf works for me - maybe the bootstrap-prefix tree should touch $EPREFIX/etc/make.conf ?
matt, please test zmedico's patch. I'm sure it fixes it.
No problems when bootstrapping now, where 10347 gets updated to 10625 (which has zmedico's patch). Thanks.