eix 0.6.4 aand 0.7.9 does not correctly parse cross compilers built with crossdev on various architectures. Examples includes: eix 0.6.4 on i686: * cross-i586-pc-linux-gnu/gcc [1] Available versions: 2.95.3-r9:${CTARGET}-${GCC_CONFIG_VER} ~2.95.3-r10 3.1.1-r2:${MY_PV} *3.2.2 3.2.3-r4:${GCC_BRANCH_VER} 3.3.2-r7:3.3 3.3.5-r1 3.3.5.20050130-r1 3.3.6 3.3.6-r1 ~3.4.1-r3:${GCC_BRANCH_VER} 3.4.4-r1 3.4.5 3.4.5-r1 ~3.4.6 3.4.6-r1 3.4.6-r2 *4.0.3 *4.1.0_alpha20061208 ~4.1.0-r1 4.1.1 4.1.1-r1 ~4.1.1-r3 *4.2.0_alpha20061205 *4.3.0_alpha20061216 Installed: 4.1.1 Homepage: Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking * cross-mingw/gcc [1] Available versions: 2.95.3-r9:${CTARGET}-${GCC_CONFIG_VER} ~2.95.3-r10 3.1.1-r2:${MY_PV} *3.2.2 3.2.3-r4:${GCC_BRANCH_VER} 3.3.2-r7:3.3 3.3.5-r1 3.3.5.20050130-r1 3.3.6 3.3.6-r1 ~3.4.1-r3:${GCC_BRANCH_VER} 3.4.4-r1 3.4.5 3.4.5-r1 ~3.4.6 3.4.6-r1 3.4.6-r2 *4.0.3 *4.1.0_alpha20061208 ~4.1.0-r1 4.1.1 4.1.1-r1 ~4.1.1-r3 *4.2.0_alpha20061205 *4.3.0_alpha20061216 Installed: none Homepage: Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking * cross-mingw32/gcc [1] Available versions: 2.95.3-r9:${CTARGET}-${GCC_CONFIG_VER} ~2.95.3-r10 3.1.1-r2:${MY_PV} *3.2.2 3.2.3-r4:${GCC_BRANCH_VER} 3.3.2-r7:3.3 3.3.5-r1 3.3.5.20050130-r1 3.3.6 3.3.6-r1 ~3.4.1-r3:${GCC_BRANCH_VER} 3.4.4-r1 3.4.5 3.4.5-r1 ~3.4.6 3.4.6-r1 3.4.6-r2 *4.0.3 *4.1.0_alpha20061208 ~4.1.0-r1 4.1.1 4.1.1-r1 ~4.1.1-r3 *4.2.0_alpha20061205 *4.3.0_alpha20061216 Installed: 4.1.1 Homepage: Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking * cross-sparc-unknown-linux-gnu/gcc [1] Available versions: 2.95.3-r9:${CTARGET}-${GCC_CONFIG_VER} ~2.95.3-r10 3.1.1-r2:${MY_PV} *3.2.2 3.2.3-r4:${GCC_BRANCH_VER} 3.3.2-r7:3.3 3.3.5-r1 3.3.5.20050130-r1 3.3.6 3.3.6-r1 ~3.4.1-r3:${GCC_BRANCH_VER} 3.4.4-r1 3.4.5 3.4.5-r1 ~3.4.6 3.4.6-r1 3.4.6-r2 *4.0.3 *4.1.0_alpha20061208 ~4.1.0-r1 4.1.1 4.1.1-r1 ~4.1.1-r3 *4.2.0_alpha20061205 *4.3.0_alpha20061216 Installed: 3.4.6-r2 Homepage: Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking eix 0.7.9 on SPARC: [I] cross-i686-pc-linux-gnu/gcc [1] Available versions: (-) 2.95.3-r9 (0) ~2.95.3-r10 *3.2.2 3.3.5-r1 3.3.5.20050130-r1 ~3.3.6 ~3.3.6-r1 ~3.4.4-r1 3.4.5 *3.4.5-r1 ~3.4.6 3.4.6-r1 3.4.6-r2 *4.0.3 *4.1.0_alpha20061208 *4.1.0-r1 ~4.1.1 ~4.1.1-r1 ~4.1.1-r3 *4.2.0_alpha20061205 *4.3.0_alpha20061216 (`echo 3.1.1 | cut -d. -f1,2`) 3.1.1-r2 ((get_version_component_range 1-2)) 3.2.3-r4 *3.4.1-r3 (3.3) ~3.3.2-r7 Installed: 4.1.1-r1(18:32:59 06/01/07)(-altivec -bootstrap -build -doc fortran -gcj -gtk -hardened -ip28 -ip32r10k -mudflap -multilib -multislot -n32 -n64 nls -nocxx -objc -objc++ -objc-gc -test -vanilla) Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking
I guess you have these cross-* classes in some overlays? In particular, I guess that update-eix will display ... (cache: none) when scanning the corresponding overlay (which is the default). The cache-method "none" is fast and secure, but as documented in the manpage, this method fails for ebuilds which define certain data only implicitly, e.g. in eclasses (in this case, I guess that the variables CTARGET, GCC_CONFIG_VER, ... are not defined "explicitly" at the beginning of the ebuild but only implicitly within a function or an ebuild). Solution: Set OVERLAY_CACHE_METHOD (or OVERRIDE_CACHE_METHOD for that particular overlay) to the cache-method "ebuild" (or at least "ebuild*"). These methods are more reliable but much slower and have some security risks. Please see the manpage for details.
I think that "ebuild" isn't implemented in 0.6.4. I will try it with 0.7.9 on SPARC. Thank you for the quick resolution.
Upgrading to 0.8.4 resolves all the problems. Thanks anyway!
*** Bug 166477 has been marked as a duplicate of this bug. ***
Just a reminder for those of you who have explicitly set OVERLAY_CACHE_METHOD: With eix-0.12.0 you might want to try OVERLAY_CACHE_METHOD="parse|ebuild*", but read about the security risks.