Here is the full error: darkstar root # dep-clean /usr/bin/dep-clean: /bin/fgrep: Argument list too long There appears to be an unresolved dependency in your world file. Please check for masking errors or other world file issues, and then try again. The following is the emerge output for your reference: These are the packages that I would merge, in order. darkstar root #
Problem is at line 182 and the script output 4783 parameters.. which seems a little too much...
Hmm.. yes. It's a common bug in our bash scripts. Time to think up a really good solution to this one...
*** Bug 6243 has been marked as a duplicate of this bug. ***
A minor one, but I cannot reproduce it.
I can't reproduce anymore either..
This just began happening to me today out of the blue. I have no idea what caused it. I seem to be able to reproduce it, as it occurs everytime I run dep- clean. Here is a log. -------- root@hive /port/profiles: dep-clean -vv Retrieving currently merged packages. 179 currently merged packages. Retrieving system packages. 91 packages contained in system. Preparing world file. 37 packages contained in world. Listing world and total dependencies. /usr/bin/dep-clean: /bin/fgrep: Argument list too long 96 packages contained in final image. These packages have no other packages depending on them. *SNIP* About 100 lines of packages installed on my PC *SNIP* Total of 88 unneeded packages. These packages are depended upon but are not present on the system. Tell emerge to run the ebuild command in grep: unrecognized option `--debug' Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. --debug mode. In this ebuilds and tbz2s *would* have been installed if grep: unrecognized option `--pretend' Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. --pretend ebuilds, or deps you specify on on the command-line *will* cause tell emerge to build binary packages for all ebuilds processed ... Total of 43 needed packages. These packages are installed but not in the portage tree. /usr/bin/dep-clean: /bin/fgrep: Argument list too long Total of 0 removed packages. root@hive /port/profiles: --------- Sorry for the long post, but I wanted to be sure you got all the info you needed. I have no idea if the "depended" msg is trying to tell me how to fix the problem, or if its just going nuts. I am running Gentoo 1.4rc1, with gcc 3.2. -PJ http://www.elitegamer.com
Is has re-appeared exactly as described in comment #6...
--- dep-clean.orig 2002-10-21 09:52:15.000000000 -0400 +++ dep-clean 2002-10-21 12:01:51.000000000 -0400 @@ -173,15 +173,28 @@ [ ${verb} ] && \ echo -e "${CY}Listing world and total dependencies.${NO}" +# This section rewritten by Paul Belt <gaarde at users dot sourceforge dot net> +# This was done to eliminate the limit of arguments fgrep can accept. qpkg -I -nc -vv | \ - grep ebuild | \ - fgrep "`cat ${tmp}/world`" | \ - cut -f5,6 -d"/" > ${tmp}/world.all - -cat ${tmp}/world.all | sed -e s:$:xxx: | \ - fgrep "`find /usr/portage/ -iname '*.ebuild'|cut -f4,6 -d/ | \ - sed -e s:\\.ebuild:xxx:`" | \ - sed -e "s:^:\\\=:" -e "s:xxx::" > ${tmp}/world.new + grep ebuild > ${tmp}/all_ebuilds + +for f in `cat /var/cache/edb/world`; do + grep $f ${tmp}/all_ebuilds \ + | cut -f5,6 -d"/" +done >> ${tmp}/world.all + +cat ${tmp}/world.all | sed -e 's:$:xxx:' > ${tmp}/world.all.2 + +find /usr/portage/ -iname '*.ebuild' \ +| cut -f4,6 -d'/' \ +| sed -e s:\\.ebuild:xxx: > ${tmp}/all.available + +for f in `cat ${tmp}/world.all.2`; do + grep $f ${tmp}/all.available \ + | sed -e 's:^:\\\=:' -e 's:xxx::' +done >> ${tmp}/world.new + +# End section
This is integrated into portage now. >=portage-2.0.41 'emerge depclean'
*** Bug 9359 has been marked as a duplicate of this bug. ***
I have yet another patch; it should be faster as I only tell fgrep to read the regular expressions from a file in one nice swoop instead of grepping with one expression at a time.. Feel free not to use it.. =) http://outerspace.dyndns.org/html/personal_pages/xkr47/tmp/dep-clean-fgrep-fix.diff