Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 37453

Summary: Emerge system produces pam and xfree packages out of order
Product: Portage Development Reporter: Jason Pfeil <jason>
Component: UnclassifiedAssignee: Portage team <dev-portage>
Status: RESOLVED DUPLICATE    
Severity: major CC: kamensky.fb
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: the output from emerge -pv system
output from emerge -pv pwdb cracklib pam
output from emerge -pv pwdb cracklib db pam

Description Jason Pfeil 2004-01-06 20:52:28 UTC
Lately, even after a fresh emerge sync, an emerge system during an install produces an out of order compilation of pam and xfree and xfree fails.


Reproducible: Always
Steps to Reproduce:
I have attached the emerge -pv system and two other emerge -p runs.  The first one contains an "emerge -pv pwdb cracklib pam" run which gets pam and xfree out of order and the second contains an "emerge -pv pwdb cracklib db pam" run which gets them in the correct order.



Here are my USE flags:

USE="acl acpi berkdb crypt cups curl doc emacs fam fastcgi flash foomaticdb gd
gdbm gif imap imlib innodb java jikes jpeg kerberos ldap libg++ libwww mbox mmx
mysql ncurses nls odbc pam ppds pdflib perl plotutils png postgres python
readline ruby samba sasl shadow spell sse ssl tcltk tcpd tiff usb xml xml2 zlib"
Comment 1 Jason Pfeil 2004-01-06 20:58:03 UTC
Created attachment 23280 [details]
the output from emerge -pv system
Comment 2 Jason Pfeil 2004-01-06 20:59:01 UTC
Created attachment 23281 [details]
output from emerge -pv pwdb cracklib pam
Comment 3 Jason Pfeil 2004-01-06 20:59:39 UTC
Created attachment 23282 [details]
output from emerge -pv pwdb cracklib db pam
Comment 4 Jason Pfeil 2004-01-07 05:59:26 UTC
Interesting...if I run "emerge -pv epm gentoolkit", the packages come out in an order that will work.  I discovered this because when I tried to run "emerge -v db pam", pam was merged before db and pam needs db so *that* wouldn't work.

Here is the "emerge -pv epm gentoolkit" output:

cosmos portage # emerge -p epm gentoolkit
 
These are the packages that I would merge, in order:
 
Calculating dependencies ...done!
[ebuild  N    ] app-portage/epm-0.8.4
[ebuild  N    ] dev-java/java-config-1.1.7
[ebuild  N    ] dev-java/blackdown-jdk-1.4.1
[ebuild  N    ] dev-lang/tcl-8.3.4
[ebuild     U ] sys-libs/db-4.0.14-r2 [1.85-r1]
[ebuild  N    ] sys-libs/pam-0.75-r11
[ebuild  N    ] x11-base/xfree-4.3.0-r3
[ebuild  N    ] dev-lang/tk-8.3.4-r1
[ebuild  N    ] dev-lang/python-2.2.3-r5
[ebuild  N    ] dev-util/dialog-0.9_beta20031002
[ebuild  N    ] sys-apps/grep-2.5.1-r1
[ebuild  N    ] app-portage/gentoolkit-0.1.37
Comment 5 Jason Pfeil 2004-01-07 06:00:19 UTC
Oops, that was only "emerge -p epm gentoolkit".  This is the "emerge -pv epm gentoolkit":

cosmos portage # emerge -pv epm gentoolkit
 
These are the packages that I would merge, in order:
 
Calculating dependencies ...done!
[ebuild  N    ] app-portage/epm-0.8.4
[ebuild  N    ] dev-java/java-config-1.1.7
[ebuild  N    ] dev-java/blackdown-jdk-1.4.1  +doc
[ebuild  N    ] dev-lang/tcl-8.3.4
[ebuild     U ] sys-libs/db-4.0.14-r2 [1.85-r1] +tcltk +java +doc
[ebuild  N    ] sys-libs/pam-0.75-r11  +berkdb -selinux
[ebuild  N    ] x11-base/xfree-4.3.0-r3  -3dfx +sse +mmx -3dnow +xml2 +truetype +nls -cjk +doc -ipv6 -debug -static +pam -sdk -gatos
[ebuild  N    ] dev-lang/tk-8.3.4-r1
[ebuild  N    ] dev-lang/python-2.2.3-r5  +ncurses +gdbm +readline +tcltk +berkdb -build +doc +ssl
[ebuild  N    ] dev-util/dialog-0.9_beta20031002
[ebuild  N    ] sys-apps/grep-2.5.1-r1  +nls -build
[ebuild  N    ] app-portage/gentoolkit-0.1.37
Comment 6 Martin Holzer (RETIRED) gentoo-dev 2004-01-07 07:58:05 UTC
xfree is required cause of tk (tcltk flag)
Comment 7 Jason Pfeil 2004-01-07 08:31:51 UTC
Martin, that is true, but the problem is not that X is being compiled.  Rather, the problem is that X is being compiled *before* pam but it *requires* pam.  That is the crux of the problem.  So I had to be creative and find a way to get it to go in the proper order, but I had to use trial and error.  If I weren't that enterprising and I was just trying gentoo for the first time, I would be very disillusioned as getting the install order of packages and dependencies right is a very critical for first-time users.

Thanks again for a great product in gentoo!

--Jason
Comment 8 Jean-Michel Smith 2005-06-17 09:55:12 UTC
I think the problem is more fundamental.

emerge -e system (as part of a stage1 install) consistently tries to install
"pam-login" prior to installing its dependency "pam".  This breaks "emerge -e
system" completely, and makes the stage1 installations instructions more or less
useless.

The workaround is to
1) emerge -e system (...until it breaks)
2) emerge pam-login (this will pull in the correct dependencies, stragely enough)
3) emerge -d system (again...this time it will work).

Obviously there is something very broken in the dependecies themselves, or in
how emerge -e system parses and organizes them.  Either way, its a repeatable
bug that needs fixing.
Comment 9 Jason Stubbs (RETIRED) gentoo-dev 2005-10-07 08:34:02 UTC

*** This bug has been marked as a duplicate of 16365 ***