The build process for dev-util/jam tries to call yacc, which obviously fails if yacc is not installed. I found Bug #76413 (http://bugs.gentoo.org/show_bug.cgi?id=76413), which suggests that dev-util/jam does *not* need yacc, but that doesn't seem to be the case on my system. Reproducible: Always Steps to Reproduce: 1. unmerge dev-util/yacc dev-util/jam 2. emerge dev-util/jam Actual Results: Notice '/bin/sh: line 2: yacc: command not found' about 20 lines down from the top of the build: # emerge jam Calculating dependencies ...done! >>> emerge (1 of 1) dev-util/jam-2.5 to / >>> md5 src_uri ;-) jam-2.5.tar >>> Unpacking source... >>> Unpacking jam-2.5.tar to /var/tmp/portage/jam-2.5/work >>> Source unpacked. cc -o ./jam0 -O2 -march=pentium4 -fomit-frame-pointer builtins.c command.c compile.c execunix.c execvms.c expand.c filent.c fileos2.c fileunix.c filevms.c glob.c hash.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c timestamp.c variable.c ./jam0 ...found 214 target(s)... ...updating 33 target(s)... MkDir1 bin.linuxx86 Cc bin.linuxx86/builtins.o Cc bin.linuxx86/command.o Cc bin.linuxx86/compile.o Cc bin.linuxx86/execunix.o Cc bin.linuxx86/fileunix.o Cc bin.linuxx86/pathunix.o Yacc1 jamgram.c jamgram.h /bin/sh: line 2: yacc: command not found yacc -d jamgram.y ...failed Yacc1 jamgram.c jamgram.h ... ...removing jamgram.c ...removing jamgram.h ...skipped jamgram.o for lack of jamgram.c... Cc bin.linuxx86/expand.o Cc bin.linuxx86/glob.o Cc bin.linuxx86/hash.o Cc bin.linuxx86/headers.o Cc bin.linuxx86/lists.o Cc bin.linuxx86/make.o Cc bin.linuxx86/make1.o Cc bin.linuxx86/newstr.o Cc bin.linuxx86/option.o Cc bin.linuxx86/parse.o Cc bin.linuxx86/regexp.o Cc bin.linuxx86/rules.o ...skipped scan.o for lack of scan.c... Cc bin.linuxx86/search.o Cc bin.linuxx86/timestamp.o Cc bin.linuxx86/variable.o ...skipped libjam.a for lack of libjam.a(jamgram.o)... Cc bin.linuxx86/mkjambase.o Link bin.linuxx86/mkjambase Chmod1 bin.linuxx86/mkjambase Cc bin.linuxx86/jam.o GenFile1 jambase.c Cc bin.linuxx86/jambase.o ...skipped jam for lack of libjam.a... ...failed updating 2 target(s)... ...skipped 4 target(s)... ...updated 27 target(s)... make: *** [all] Error 1 !!! ERROR: dev-util/jam-2.5 failed. !!! Function src_compile, Line 19, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Expected Results: successful emerge of dev-util/jam After running 'emerge yacc --oneshot', emerge jam completed successfully.
Created attachment 48078 [details] Ebuild with dev-util/yacc in the DEPEND string.
no, you just need to build with YACC="biosn -y" fixed in cvs
I'm just curious. How is the regular user supposed to know that? One of the reasons I use Gentoo is because I can type 'emerge foo' and it is supposed to install without me knowing anything about how it's compiled or its dependencies. Most of the time that works great, but it seems it isn't so in this case.
i didnt say the regular user had to know/do that i was saying your analysis was slightly wrong and i explained how i fixed it in cvs
Oh, I'm sorry. I missed the part where you said you fixed in CVS, so I thought we (users) had to type YACC="bison -y" on the command line. I understand now. Thanks.