Summary: | Emerge --deep improperly orders dependencies. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jason Rhinelander <gentoo> |
Component: | [OLD] Core system | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | avuton, craig.lawson |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Jason Rhinelander
2004-03-13 18:16:48 UTC
Here's another example: 1. equery fails because my version of linux-headers has fallen off the portage database (OK, it's an equery bug, too): # equery -C depgraph svgalib Displaying dependencies for media-libs/svgalib-1.4.3-r4 Displaying dependencies for media-libs/svgalib-1.9.17-r3 `-- media-libs/svgalib-1.9.17-r3 `-- sys-libs/glibc-2.3.2-r9 (virtual/glibc) `-- sys-kernel/linux-headers-2.4.19-r1 (virtual/os-headers) !!! aux_get(): ebuild for 'sys-kernel/linux-headers-2.4.19-r1' does not exist at: !!! /usr/portage/sys-kernel/linux-headers/linux-headers-2.4.19-r1.ebuild Traceback (most recent call last): File "/usr/bin/equery", line 949, in ? if e and type(e[0]) == types.ListType and \ IndexError: tuple index out of range 2. Despite the failure, I now know that glibc depends on linux-headers. So let's try and update it: # emerge --pretend --verbose --deep --oneshot glibc These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-libs/glibc-2.3.2-r9 -build +nls -nptl -pic 18 kB Total size of downloads: 18 kB 3. Where's linux-headers? It's not listed. Should be. # emerge info Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.6-rc1) ================================================================= System uname: 2.6.6-rc1 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz Gentoo Base System version 1.4.8 Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.seren.com/gentoo ftp://mirror.iawnet.sandia.gov/pub/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://mirror.tucdemonic.org/gentoo/" MAKEOPTS="-j3" 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 alsa apm avi berkdb bonobo cdr crypt cups dga doc dvd dvdr emacs encode foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib jack java jikes jpeg libg++ libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pda pdflib perl png ppds python quicktime readline scanner sdl slang spell sse ssl tcltk tcpd tiff truetype usb video_cards_radeon videos x86 xml2 xmms xv zlib" (In reply to comment #1) > Here's another example: > > 1. equery fails because my version of linux-headers has fallen off the portage database (OK, it's an equery bug, too): > > # equery -C depgraph svgalib > > Displaying dependencies for media-libs/svgalib-1.4.3-r4 > > Displaying dependencies for media-libs/svgalib-1.9.17-r3 > > `-- media-libs/svgalib-1.9.17-r3 > `-- sys-libs/glibc-2.3.2-r9 (virtual/glibc) > `-- sys-kernel/linux-headers-2.4.19-r1 (virtual/os-headers) > !!! aux_get(): ebuild for 'sys-kernel/linux-headers-2.4.19-r1' does not exist at: > !!! /usr/portage/sys-kernel/linux-headers/linux-headers-2.4.19- r1.ebuild > Traceback (most recent call last): > File "/usr/bin/equery", line 949, in ? > if e and type(e[0]) == types.ListType and \ > IndexError: tuple index out of range > > Not a portage bug, file a seperate one for Equery, or it may be fixed by now. I myself haven't tested it. > 2. Despite the failure, I now know that glibc depends on linux-headers. So let's try and update it: > > # emerge --pretend --verbose --deep --oneshot glibc > > These are the packages that I would merge, in order: > > Calculating dependencies ...done! > [ebuild R ] sys-libs/glibc-2.3.2-r9 -build +nls -nptl -pic 18 kB > > Total size of downloads: 18 kB > > It's not listed because they are already installed. Dependencies are only recompiled when they are updated, not when you recompile things that are dependent on them. The latter would require Binary Compatability code that no one has written nor fleshed out yet, IIRC. > 3. Where's linux-headers? It's not listed. Should be. That is proper behavior. > > # emerge info > Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.6-rc1) > ================================================================= > System uname: 2.6.6-rc1 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz > Gentoo Base System version 1.4.8 > Autoconf: sys-devel/autoconf-2.58-r1 > Automake: sys-devel/automake-1.8.3 > ACCEPT_KEYWORDS="x86" > AUTOCLEAN="yes" > CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit- frame-pointer -pipe" > CHOST="i686-pc-linux-gnu" > COMPILER="gcc3" > CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/ 3/share/config /usr/share/config /var/qmail/control" > CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" > CXXFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit- frame-pointer -pipe" > DISTDIR="/usr/portage/distfiles" > FEATURES="autoaddcvs ccache sandbox" > GENTOO_MIRRORS="http://gentoo.seren.com/gentoo ftp://mirror.iawnet.sandia.gov/ pub/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://mirror.tucdemonic.org/ gentoo/" > MAKEOPTS="-j3" > 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 alsa apm avi berkdb bonobo cdr crypt cups dga doc dvd dvdr emacs encode foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib jack java jikes jpeg libg++ libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pda pdflib perl png ppds python quicktime readline scanner sdl slang spell sse ssl tcltk tcpd tiff truetype usb video_cards_radeon videos x86 xml2 xmms xv zlib" |