Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 160641 - app-portage/eix doesn't parse crossdev compilers correctly
Summary: app-portage/eix doesn't parse crossdev compilers correctly
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High trivial (vote)
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
: 166477 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-01-07 09:15 UTC by Alex Buell
Modified: 2008-03-07 00:00 UTC (History)
5 users (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 Alex Buell 2007-01-07 09:15:31 UTC
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
Comment 1 Martin Väth 2007-01-07 11:16:32 UTC
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.
Comment 2 Alex Buell 2007-01-07 11:42:23 UTC
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. 
Comment 3 Alex Buell 2007-01-07 13:27:52 UTC
Upgrading to 0.8.4 resolves all the problems. Thanks anyway!
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-02-12 09:57:23 UTC
*** Bug 166477 has been marked as a duplicate of this bug. ***
Comment 5 Martin Väth 2008-03-07 00:00:31 UTC
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.