Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 173398 - sci-electronics/geda-20070216 sci-libs/libgeda-20070216 - broken built_with_use check
Summary: sci-electronics/geda-20070216 sci-libs/libgeda-20070216 - broken built_with_u...
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major
Assignee: Denis Dupeyron (RETIRED)
URL:
Whiteboard:
Keywords: QAbaddie, QAbadiuse
: 173481 (view as bug list)
Depends on: 170903
Blocks:
  Show dependency tree
 
Reported: 2007-04-04 20:44 UTC by Stefan Salewski
Modified: 2007-04-13 13:24 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
geda-20070216.ebuild (geda-20070216.ebuild,2.66 KB, text/plain)
2007-04-06 10:33 UTC, Matteo Azzali (RETIRED)
Details
libgeda-20070216.ebuild (libgeda-20070216.ebuild,1.45 KB, text/plain)
2007-04-06 10:37 UTC, Matteo Azzali (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Salewski 2007-04-04 20:44:24 UTC
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
Comment 1 Denis Dupeyron (RETIRED) gentoo-dev 2007-04-05 07:04:00 UTC
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.
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-04-05 17:29:33 UTC
*** Bug 173481 has been marked as a duplicate of this bug. ***
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-04-05 17:30:12 UTC
Reopen. Seriously, please test stuff before committing.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-04-05 17:33:52 UTC
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.
Comment 5 Matteo Azzali (RETIRED) gentoo-dev 2007-04-06 10:33:19 UTC
Created attachment 115550 [details]
geda-20070216.ebuild

Version that compiles fine with USE="-gd" and no gd installed.
Comment 6 Matteo Azzali (RETIRED) gentoo-dev 2007-04-06 10:37:14 UTC
Created attachment 115554 [details]
libgeda-20070216.ebuild

same as above but for libgeda, tested working with gd flag off.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2007-04-06 10:58:10 UTC
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?
Comment 8 Denis Dupeyron (RETIRED) gentoo-dev 2007-04-06 11:13:42 UTC
Thanks Matteo, I'll look into this when I reach home.

Denis.
Comment 9 Denis Dupeyron (RETIRED) gentoo-dev 2007-04-07 20:42:05 UTC
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.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2007-04-08 13:23:17 UTC
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.

Comment 11 Jakub Moc (RETIRED) gentoo-dev 2007-04-08 13:30:52 UTC
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).
Comment 12 Matteo Azzali (RETIRED) gentoo-dev 2007-04-09 14:54:59 UTC
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
Comment 13 Denis Dupeyron (RETIRED) gentoo-dev 2007-04-12 06:47:07 UTC
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.
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2007-04-12 07:30:53 UTC
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?!

Comment 15 Denis Dupeyron (RETIRED) gentoo-dev 2007-04-12 09:37:33 UTC
(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.
Comment 16 Jakub Moc (RETIRED) gentoo-dev 2007-04-12 10:05:36 UTC
(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.
Comment 17 Denis Dupeyron (RETIRED) gentoo-dev 2007-04-13 13:24:48 UTC
> 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.