Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 293401 - media-gfx/imagemagick-6.5.7.0 openmp checks fail noisily if GCC not installed - eclass bug?
Summary: media-gfx/imagemagick-6.5.7.0 openmp checks fail noisily if GCC not installed...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All IRIX
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-16 16:21 UTC by Stuart Shelton
Modified: 2011-04-24 17:00 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 Stuart Shelton 2009-11-16 16:21:49 UTC
imagemagick-6.5.7.0.ebuild contains:

    # openmp support only works with >=sys-devel/gcc-4.3, bug #223825
    if use openmp && version_is_at_least 4.3 $(gcc-version) ; then
        if built_with_use --missing false =sys-devel/gcc-$(gcc-version)* openmp ; then
            myconf="${myconf} --enable-openmp"
        else
            elog "disabling openmp support (requires >=sys-devel/gcc-4.3 with USE='openmp')"
            myconf="${myconf} --disable-openmp"
        fi
    else
        elog "disabling openmp support (requires >=sys-devel/gcc-4.3)"
        myconf="${myconf} --disable-openmp"
    fi

... which, if GCC isn't present, fails with:

>>> Configuring source in /usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/work/ImageMagick-6.5.7-0 ...
MIPSpro Compilers: Version 7.4.4m
MIPSpro Compilers: Version 7.4.4m
ERROR: Invalid atom: '=sys-devel/gcc-*'
 * ERROR: media-gfx/imagemagick-6.5.7.0 failed:
 *   unexpected portageq exit code: 2
 *
 * Call stack:
 *     ebuild.sh, line   51:  Called call-ebuildshell 'src_configure'
 *   environment, line  634:  Called src_configure
 *   environment, line 3058:  Called built_with_use '--missing' 'false' '=sys-devel/gcc-*' 'openmp'
 *   environment, line  576:  Called best_version '=sys-devel/gcc-*'
 *     ebuild.sh, line  270:  Called die
 * The specific snippet of code:
 *                      die "unexpected portageq exit code: ${retval}"
 *
 * If you need support, post the output of 'emerge --info =media-gfx/imagemagick-6.5.7.0',
 * the complete build log and the output of 'emerge -pqv =media-gfx/imagemagick-6.5.7.0'.
 * The complete build log is located at '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/temp/build.log'.
 * The ebuild environment file is located at '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/temp/environment'.
 * S: '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/work/ImageMagick-6.5.7-0'
 * ERROR: media-gfx/imagemagick-6.5.7.0 failed:
 *   Unable to resolve =sys-devel/gcc-* to an installed package
 *
 * Call stack:
 *     ebuild.sh, line   51:  Called call-ebuildshell 'src_configure'
 *   environment, line  634:  Called src_configure
 *   environment, line 3058:  Called built_with_use '--missing' 'false' '=sys-devel/gcc-*' 'openmp'
 *   environment, line  577:  Called die
 * The specific snippet of code:
 *       [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package";
 *
 * If you need support, post the output of 'emerge --info =media-gfx/imagemagick-6.5.7.0',
 * the complete build log and the output of 'emerge -pqv =media-gfx/imagemagick-6.5.7.0'.
 * The complete build log is located at '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/temp/build.log'.
 * The ebuild environment file is located at '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/temp/environment'.
 * S: '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/work/ImageMagick-6.5.7-0'

>>> Failed to emerge media-gfx/imagemagick-6.5.7.0, Log file:

>>>  '/usr/opt/gentoo/var/tmp/portage/media-gfx/imagemagick-6.5.7.0/temp/build.log'

... which is probably a bug in whichever eclass provides built_with_use.
Comment 1 Fabian Groffen gentoo-dev 2009-11-16 16:24:37 UTC
Well, not really, since it just assumes gcc is installed, which is not such a weird assumption in Gentoo (Linux).  It's just that you are on the only arch that doesn't use GCC, which is a big deal of the difficulty of getting it working.
Comment 2 Stuart Shelton 2009-11-16 16:33:33 UTC
What can I say  - I strive to be different :)

... and this bug wasn't filed accusitively - more just as an FYI.

(And the problem problem lies with 'version_is_at_least' now I look at it: that test probably shouldn't pass for it to trip up on built_with_use in the first place.  Actually, now I look again, version_is_at_least may be reading 7.4.4 from the MIPSpro output and (correctly) deciding that this is, indeed, at_least 4.3!)

Does Gentoo proper not have *any* GCC alternatives?  Something like tinycc for embedded systems?  Or is there some alias/virtual in place for any such to appear as gcc (and would it be of any use under prefix to prevent portage from complaining about GCC not being present on IRIX)?

How does prefix on Sun with the Sun Studio compilers cope with this?
Comment 3 Fabian Groffen gentoo-dev 2011-04-24 17:00:05 UTC
This is checked via tc-has-openmp() these days, which compiles a little program in order to determine whether or not openmp is available.