I tried to install latest sci-electronics/geda (~amd64). Installation fails because media-libs/gd was missing. After "emerge media-libs/gd" and again "emerge geda" all is ok. Please note: Old geda was using sci-libs/libgdgeda, which is obsolete with latest geda! Thanks for your support. Here is the (first time) output of "emerge geda" stefan@AMD64X2 ~ $ cat build.log !!! ERROR: sci-electronics/geda-20070216 failed. Call stack: ebuild.sh, line 1630: Called dyn_setup ebuild.sh, line 702: Called qa_call 'pkg_setup' ebuild.sh, line 38: Called pkg_setup geda-20070216.ebuild, line 34: Called built_with_use 'media-libs/gd' 'png' eutils.eclass, line 1654: Called die !!! Unable to resolve media-libs/gd to an installed package !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/sci-electronics/geda-20070216/temp/build.log'. Reproducible: Always Steps to Reproduce: 1.emerge geda (on a fresh installation without media-libs/gd) 2. 3. Actual Results: Unable to resolve media-libs/gd to an installed package Expected Results: Installation of media-libs/gd before emerging geda
It's me that's broken, not the built_with_use check... ;o) Thanks for reporting this bug, It's hopefully fixed now. I have made quite a few changes to dependencies and use flag checks, so please do not hesitate to reopen this bug if it didn't work. Denis.
*** Bug 173481 has been marked as a duplicate of this bug. ***
Reopen. Seriously, please test stuff before committing.
libgeda-20070216.ebuild: <snip> use gd && built_with_use media-libs/gd png || die "media-libs/gd must be compiled with USE=png" </snip> Dies w/ USE="-gd" geda-20070216.ebuild <snip> use gd && built_with_use sci-libs/libgeda gd || die "sci-libs/libgeda must be compiled with USE=gd" </snip> Dies w/ USE="-gd" and *still* dies if media-libs/gd is not installed, plus the use flag is just bogus.
Created attachment 115550 [details] geda-20070216.ebuild Version that compiles fine with USE="-gd" and no gd installed.
Created attachment 115554 [details] libgeda-20070216.ebuild same as above but for libgeda, tested working with gd flag off.
Comment on attachment 115550 [details] geda-20070216.ebuild Again - the use flag in the is bogus and doesn't do anything useful. Why is this check needed in sci-electronics/geda anyway? Doesn't the one in libgeda do the job already?
Thanks Matteo, I'll look into this when I reach home. Denis.
OK, it's fixed now. The story is that I thought I was smart enough to be able to reduce the number of emerge to check all cases. Apparently I'm not. Sorry for any annoyance. Denis.
Don't get me wrong, but which part of - the USE=gd is bogus in sci-electronics/geda and - it will *still* die if media-libs/gd is not installed is so horribly unclear? http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-electronics/geda/geda-20070216.ebuild?r1=1.3&r2=1.4 ^^^ The above is still broken, drop the flag and drop the check.
To make it more clear, this http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-electronics/geda/geda-20070216.ebuild?rev=1.1&view=markup was last correct ebuild. Either the check in sci-libs/libgeda is enough to make this compile no matter what, or you have a missing dependency (hard one, not optional - because the gd use flag doesn't affect sci-electronics/geda compile in any way).
On x86 seems emerging fine without gd, sorry... #emerge -pv gd geda libgeda These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] media-libs/gd-2.0.34 USE="jpeg png truetype -fontconfig -xpm" 1,109 kB [ebuild R ] sci-electronics/geda-20070216 USE="-doc -examples -gd" 0 kB [ebuild R ] sci-libs/libgeda-20070216 USE="-gd" 0 kB Total: 3 packages (1 new, 2 reinstalls), Size of downloads: 1,109 kB
Jakub, Matteo, a couple other people I asked and myself can't reproduce your issue. So I'm closing this bug. Feel free to reopen it with the usual necessary information (detailed report, emerge info, etc...). Denis.
OK, lets try again... <snip> --- geda-20070216.ebuild 2007/03/10 14:14:38 1.1 +++ geda-20070216.ebuild 2007/04/07 20:24:41 1.4 @@ -17,7 +17,7 @@ doc? ( http://www.geda.seul.org/devel/${PV}/geda-docs-${PV}.tar.gz ) examples? ( http://www.geda.seul.org/devel/${PV}/geda-examples-${PV}.tar.gz )" -IUSE="doc examples" +IUSE="doc examples gd" LICENSE="GPL-2" KEYWORDS="~amd64 ~ppc ~sparc ~x86" SLOT="0" @@ -31,6 +31,11 @@ built_with_use "dev-scheme/guile" deprecated \ || die "You need either <dev-scheme/guile-1.8, or >=dev-scheme/guile-1.8 with USE=deprecated" fi + if use gd ; then + built_with_use sci-libs/libgeda gd || die "sci-libs/libgeda must be compiled with USE=gd" + else + ! built_with_use sci-libs/libgeda gd || die "sci-libs/libgeda must be compiled with USE=-gd" + fi } src_compile() { </snip> So, what you've done? You added USE=gd, which... uhm, does nothing. Doesn't affect the compile result in any way. The only thing it does it checking whether sci-libs/libgeda was compiled w/ USE=gd for whatever reason. USE="gd" emerge libgeda geda -> nothing happens USE="-gd" emerge geda -> now it will die on the check, why?! or USE="-gd" emerge libgeda geda -> nothing happens USE="gd" emerge geda -> now it will again die on the check, why?!
(In reply to comment #14) > So, what you've done? You added USE=gd, which... uhm, does nothing. Doesn't > affect the compile result in any way. The only thing it does it checking > whether sci-libs/libgeda was compiled w/ USE=gd for whatever reason. The compile result is different whether libgeda is compiled with gd or not. As a dev you should have seen that. The check is a workaround for Portage not having USE flag dependencies yet. Since I don't work alone in my corner, I contacted a senior dev about this, and he confirmed adding a gd USE flag was a "sane" (his word) thing to do. Until I'm proved we were both wrong, this gd USE flag is here to stay, sorry. > USE="gd" emerge libgeda geda -> nothing happens > USE="-gd" emerge geda -> now it will die on the check, why?! > > or > > USE="-gd" emerge libgeda geda -> nothing happens > USE="gd" emerge geda -> now it will again die on the check, why?! I would like to know why too. This problem couldn't be reproduced by 3 devs who tried it on 4 different machines. I'm not saying your problem doesn't exist, but as long as I don't have the necessary info to investigate I can't do much. Denis.
(In reply to comment #15) > The compile result is different whether libgeda is compiled with gd or not. As > a dev you should have seen that. Eh. I give up. There's nothing to be seen in the ebuild, the flag doesn't do anything there wrt the compile itself -> you apparently have an automagic dependency here.
> Eh. I give up. There's nothing to be seen in the ebuild, the flag doesn't do > anything there wrt the compile itself -> you apparently have an automagic > dependency here. Wasn't that obvious ? Anyway, I still believe it's important to know what happens in your case, and why the checks die on your machine and not on others. If there's a real bug waiting to be solved, we shouldn't stop here. So, please, send us the necessary info. Thanks in advance. Denis.