Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 37066 - Strange dependancy problems...
Summary: Strange dependancy problems...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All All
: High critical
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
: 37187 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-01-02 18:54 UTC by Radek Podgorny
Modified: 2004-10-22 08:48 UTC (History)
2 users (show)

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


Attachments
Output from emerge -upv --deep --debug world (emerge.out,287.93 KB, text/plain)
2004-01-03 11:18 UTC, Radek Podgorny
Details
world (world,9.96 KB, text/plain)
2004-01-06 09:31 UTC, Radek Podgorny
Details
Patch to fix the weird use-flag completion in newdepend/do_newdepend (ebuild.sh-bogus_completion.diff,588 bytes, patch)
2004-01-15 17:03 UTC, Jyrki Muukkonen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Radek Podgorny 2004-01-02 18:54:16 UTC
Hi,

I'm getting following output when I "emerge -upv --deep world":

sol radek # expemerge -upv --deep world

These are the packages that I would merge, in order:

Calculating world dependencies -
emerge: there are no masked or unmasked ebuilds to satisfy "docs".

!!! Problem with ebuild media-video/ffmpeg-0.4.8
!!! Possibly a DEPEND/*DEPEND problem.

!!! Depgraph creation failed.

sol radek # etcat -d docs
[ Results for search key : docs ]
* app-doc/kdelibs-apidocs-3.1.2
  app-doc/qt-docs
* app-doc/kdelibs-apidocs-3.1.4
  app-doc/qt-docs
* app-editors/quanta-3.2.0_beta1
  docs
* app-editors/quanta-3.2.0_beta2
  app-doc/quanta-docs
* app-misc/evidence-0.9.7.20031225
  docs
* app-misc/examine-0.0.1.20031129
  docs
* app-sci/equate-0.0.4.20031225
  docs
* dev-db/edb-1.0.4.20031225
  docs
* dev-db/myodbc-3.51.06
  docs?
...output continues...

Taking a closer look at the ebuilds, they all (the ones with strange "docs" dependancy) seem to have strange "DEPEND=${DEPEND}" inside... I don't know if this is the problem but I hope it helps. Ask me further if necessary, I'll help since right now, I cannot update my system which is really bad!


------------------

sol radek # emerge info
Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.6.0)
=================================================================
System uname: 2.6.0 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.4.3.12
distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium3 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distcc sandbox"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa apache2 apm avi bonobo cdr cups dvd encode flash foomaticdb gif gnome gphoto2 gtk gtk2 gtkhtml imap imlib ipv6 java jpeg kde libg++ libwww lirc mad maildir matroska mbox mmx mozilla mpeg mysql ncurses oggvorbis opengl perl png python qt readline samba scanner sdl sse ssl tcltk tetex tiff truetype unicode usb x86 xml xml2 xmms xv zlib"

After a minute of investigation a got this:
Comment 1 Radek Podgorny 2004-01-02 18:55:34 UTC
I pasted it wrong...

The last line should be before the "etcat"...

Radek
Comment 2 Masatomo Nakano (RETIRED) gentoo-dev 2004-01-03 10:50:15 UTC
Hi,

Could you show us 'emerge -upv --deep --debug world'?
And what is 'expemerge'? it seems an alias. right?
Comment 3 Radek Podgorny 2004-01-03 11:18:00 UTC
Created attachment 23077 [details]
Output from emerge -upv --deep --debug world

Attention! The file is rather long...
Comment 4 Radek Podgorny 2004-01-03 11:19:51 UTC
Added the output as attachment...

Sorry, I forgot to mention "expemerge" is just an alias for "ACCEPT_KEYWORDS="~x86" emerge"...

Radek
Comment 5 Masatomo Nakano (RETIRED) gentoo-dev 2004-01-03 21:34:55 UTC
It was enlightenment.eclass bug and already fixed.
I think it works file if you do 'emerge sync'

Thanks,
Comment 6 SpanKY gentoo-dev 2004-01-03 21:57:36 UTC
what bug in enlightenment.eclass ?
Comment 7 Masatomo Nakano (RETIRED) gentoo-dev 2004-01-03 23:56:55 UTC
I think DEPEND was 'doc ( app-doc/doxygen )' in the eclass.

hmm, but I can't find such as a thing in CVS now.
There may be other reason..
Comment 8 SpanKY gentoo-dev 2004-01-04 00:09:31 UTC
newdepend "doc? ( app-doc/doxygen )"

that's in the enlightenment.eclass ...
Comment 9 Masatomo Nakano (RETIRED) gentoo-dev 2004-01-04 00:17:34 UTC
'doc? ( app-doc/doxygen )' is correct.

'doc ( app-doc/doxygen )' is incorrect.
doc is considered as package in the case.
Comment 10 Radek Podgorny 2004-01-04 03:50:23 UTC
Just synced. The enlightenment.eclass has the doc? thingy but still no-go... :-(
Comment 11 Masatomo Nakano (RETIRED) gentoo-dev 2004-01-04 05:20:05 UTC
I just noticed you set PORTDIR_OVERLAY.
Can you unset it and retry?
Comment 12 Radek Podgorny 2004-01-04 10:29:58 UTC
I'm sorry, no change... :-(
Comment 13 SpanKY gentoo-dev 2004-01-04 17:06:37 UTC
ah, well while i may have missed the missing ? here, there was never a version of enlightenment.eclass in portage that was missing a ? :)
Comment 14 SpanKY gentoo-dev 2004-01-04 17:11:09 UTC
*** Bug 37187 has been marked as a duplicate of this bug. ***
Comment 15 Nicholas Jones (RETIRED) gentoo-dev 2004-01-05 15:14:47 UTC
If this issue is still persisting after another emerge sync,
please check your world file (/var/cache/edb/world) and make
sure that 'doc' doesn't appear by itself in that file.

Post your world file if you can't find the problem and fix it.
Comment 16 Radek Podgorny 2004-01-06 09:30:19 UTC
The world file seems to be fine... :-(

radek@sol df $ cat /var/cache/edb/world | grep doc
x11-misc/docker
app-doc/linux-gazette-all
app-doc/howto-html
app-text/docbook-xml-dtd
app-text/docbook-xsl-stylesheets
dev-util/gtk-doc
app-doc/phrack-all
app-text/docbook-dsssl-stylesheets
app-text/docbook-sgml-utils
dev-python/python-docs
app-doc/php-docs

...will attach the entire world file...
Comment 17 Radek Podgorny 2004-01-06 09:31:01 UTC
Created attachment 23243 [details]
world
Comment 18 Julien Allanos (RETIRED) gentoo-dev 2004-01-06 09:52:52 UTC
resynced, updated to portage-2.0.49-r21: it works well now. i cross my fingers :)
Comment 19 Radek Podgorny 2004-01-06 10:48:23 UTC
Can you, please, tell me what bug was?

Thanks...
Radek
Comment 20 Radek Podgorny 2004-01-06 10:49:14 UTC
...what the bug was? :-)
Comment 21 Julien Allanos (RETIRED) gentoo-dev 2004-01-06 11:55:32 UTC
#37187
Comment 22 Radek Podgorny 2004-01-10 03:34:27 UTC
This may sound strange but it's true:

I've resynced and emerge portage -r21. The "docs" problem remained.
Then, I've resynced againg (with just a few files being really updated) but now using my alias which does "emerge sync; eupdate".
Voila, it started to work...

The eupdate command comes from the esearch package...

I don't know whether the problem was solved by the second resync or the eupdate... :-(

Radek
Comment 23 Julien Allanos (RETIRED) gentoo-dev 2004-01-11 14:02:06 UTC
docs problem came again this weekend, on giblib-1.2.2. eupdate didn't solve the problem, as i expected.
Comment 24 Radek Podgorny 2004-01-12 13:20:54 UTC
giblib depends on imlib2 and imlib2's ebuilds contain the strange DEPEND=${DEPEND} thing I've mentioned before. Can someone please take a look a it and experiment a bit? For me, the "docs" problem is gone and I don't want to mess up my system with giblib which I don't know what it's for...

Radek
Comment 25 SpanKY gentoo-dev 2004-01-12 15:30:54 UTC
since portage is supposed to handle depend in eclasses correctly now ive fixed the imlib2 package
Comment 26 Julien Allanos (RETIRED) gentoo-dev 2004-01-14 09:56:02 UTC
i'm still having the problem on giblib-1.2.2.
Comment 27 Jyrki Muukkonen 2004-01-15 16:01:28 UTC
Looks like enlightenment.eclass's row 22
newdepend "doc? ( app-doc/doxygen )"
gets completed to "docs ( app-doc/doxygen )" at some point.

This can be confirmed by grepping /var/cache/edb/dep/:
grep -r "docs " /var/cache/edb/dep
/var/cache/edb/dep/media-libs/imlib2-1.1.0:=media-libs/freetype-2* gif? ( media-libs/libungif >=media-libs/giflib-4.1.0 ) png? ( >=media-libs/libpng-1.2.1 ) jpeg? ( media-libs/jpeg ) tiff? ( >=media-libs/tiff-3.5.5 ) virtual/x11 docs ( app-doc/doxygen ) sys-devel/gcc
/var/cache/edb/dep/media-libs/imlib2-1.1.0.20040103:=media-libs/freetype-2* gif? ( media-libs/libungif >=media-libs/giflib-4.1.0 ) png? ( >=media-libs/libpng-1.2.1 ) jpeg? ( media-libs/jpeg ) tiff? ( >=media-libs/tiff-3.5.5 ) X? ( virtual/x11 ) docs ( app-doc/doxygen ) sys-devel/gcc

Now the question is where does this so called completion happen and why. Maybe somewhere in newdepend script?
Comment 28 Jyrki Muukkonen 2004-01-15 16:31:16 UTC
I think I solved this :)

It's quite funny actually... I have "docs" subdir in my home directory. Now, when there is some ebuild that uses "doc? ( something )" syntax and is _not_ in portage cache, that "doc?" gets completed to "docs". This happens if there is a file or a directory with that name in the current working directory (actually it might happen when there's for example a variable, alias or function called "docs").

This kind of strange thing might happen with other use flag queries also, which is kind of nasty. Removing eg. imlib2 from portage cache, mkdir or touch docs and emerge -pv imlib2 should confirm this bug.

I believe this is a bug in newdepend function, and happens when there is newdepend "foo? ( xyz/bar )" and a "fooX" directory or file in the current working directory.
Comment 29 Jyrki Muukkonen 2004-01-15 16:40:09 UTC
And here's a short three command script for confirming this bug:

# rm /var/cache/edb/dep/media-libs/imlib2-*
# mkdir docX
# emerge -pv imlib2

emerge: there are no masked or unmasked ebuilds to satisfy "docX".
Comment 30 Jyrki Muukkonen 2004-01-15 17:03:16 UTC
Created attachment 23895 [details, diff]
Patch to fix the weird use-flag completion in newdepend/do_newdepend

Ok, this patch fixes the ebuild.sh newdepend " foo? ( bar )" completion issue.
The problem was some missing quotations, both in newdepend() and in
do_newdepend().

This patch only changes a few of them, so there might be other similar bugs in
ebuild.sh (and other scripts too!). So I suggest some of you real developers go
through the whole portage and check out for similar bugs.

The very reason for this bug is the usage of those dirty "eval echo" and "eval
export" hacks. Like the comment in ebuild.sh says... Cool, huh? :)
Comment 31 Radek Podgorny 2004-01-15 21:30:24 UTC
Wow! I admire you! If I tried to solve this problem, it would take a thousand years without any clue it could be caused by of this... Of course I also have the "docs" subdir in my home dir... :-)

Great work!

Radek
Comment 32 Julien Allanos (RETIRED) gentoo-dev 2004-01-16 01:01:21 UTC
hehe, guess what? i've also a docs/ dir in my homedir :)
thanks jyrki!
Comment 33 pasi.valminen 2004-02-23 12:23:04 UTC
There's a patch, it works, the bug is annoying. Should it be fixed any time soon? I have docs/ dir too ;)
Comment 34 Masatomo Nakano (RETIRED) gentoo-dev 2004-04-11 05:49:47 UTC
Fixed in CVS.
Thanks for reporting.
Comment 35 Radek Podgorny 2004-04-24 15:25:28 UTC
Shouldn't this be closed by now? :-)
Comment 36 Andrew Cooks 2004-08-08 01:26:25 UTC
This bug has been inactive for more than 90 days.

Can it be closed now?
Comment 37 Nicholas Jones (RETIRED) gentoo-dev 2004-10-22 08:48:11 UTC
Bug has been fixed and released in stable portages on or before 2.0.51-r2