When I try to emerge man-1.5l it fails with several errors. Reproducible: Always Steps to Reproduce: 1. Emerge Rsync 2. emerge man 3. -> Error Actual Results: The output I get is: cd src; make make[1]: Entering directory `/var/tmp/portage/man-1.5l-r1/work/man-1.5l/src' march=i686 -O3 -pipe -s makemsg.c -o makemsg /bin/sh: -O3: command not found make[1]: [makemsg] Error 127 (ignored) ./makemsg ../msgs/mess.en gripedefs.h msg.c make[1]: ./makemsg: Command not found make[1]: *** [gripedefs.h] Error 127 make[1]: Leaving directory `/var/tmp/portage/man-1.5l-r1/work/man-1.5l/src' make: *** [source] Error 2 !!! ERROR: sys-apps/man-1.5l-r1 failed. !!! Function src_compile, Line 32, Exitcode 2 !!! (no error message) Expected Results: Merge man-1.5l I've seen this problem on 2 machines, all installed with gentoo 1.2 (gcc 2.95.3) Portage 2.0.47-r10 (default-1.0, gcc-2.95.3, glibc-2.2.5-r8) ================================================================= System uname: 2.4.18 i686 GenuineIntel GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/ " CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/confi g /usr/kde/3/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm arts avi cups encode gif gpm gtk imlib java jpeg kde libg++ libwww mikmod motif mpeg ncurses oggvorbis opengl pdflib png qt quicktime sdl spell svga truetype X xml2 xmms xv berkdb gdbm nls perl python readline slang tcpd pam ssl mmx crypt" COMPILER="" CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -O3 -pipe" CXXFLAGS="-O2 -mcpu=i686 -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
this is what i get cd src; make make[1]: Entering directory `/var/tmp/portage/man-1.5l-r1/work/man-1.5l/src' gcc -march=i686 -O3 -pipe -s makemsg.c -o makemsg ./makemsg ../msgs/mess.en gripedefs.h msg.c there must be something wrong with your compiler is there no error/warning message during configure ?
it doesn't seem to be attaching those CFLAGS to a compiler...
This is the full configure output, no errors I believe ... Note that emerging man-1.5l on system installed with 1.4rc3 works fine. The two machines that have the problem are both installed with 1.2. >>> Source unpacked. nls checking for gcc gcc is /usr/bin/gcc checking for ANSI C header files checking for POSIX.1 header files checking for BSD string and memory functions checking whether sys/types.h defines uid_t checking for Xenix checking how to get alloca checking for nls checking for getopt.h Checking echo to see how to suppress newlines... ...using -n. Testing whether grep needs -s or -q ... -q Assuming you want to be able to handle the nroff source for man pages. Assuming the following ways to invoke the various commands and filters: troff command: /usr/bin/groff -Tps -mandoc nroff command: /usr/bin/nroff -Tlatin1 -c -mandoc jnroff command: /usr/bin/groff -Tnippon -mandocj eqn command: /usr/bin/geqn -Tps neqn command: /usr/bin/geqn -Tlatin1 jneqn command: /usr/bin/geqn -Tnippon tbl command: /usr/bin/gtbl col command: /usr/bin/col vgrind command: missing refer command: /usr/bin/refer grap command: missing pic command: /usr/bin/pic pager command: /usr/bin/less -is cmp command: /usr/bin/cmp -s cat command: /usr/bin/cat awk command: /usr/bin/awk It seems that no col is needed, since you use groff. Assuming that binaries go to /usr/bin, the configuration file goes to /etc, makewhatis to /usr/sbin, and the man pages to /usr/share/man/man*. ./configure: prefix: command not found Using localedir /usr/share/locale/%L/%N Setting the default section search order to 1 8 2 3 4 5 6 7 9 tcl n l p o. Assuming that formatted pages should be compressed. Using /bin/bzip2 for compression. Assuming the following ways to invoke the various decompressors: gunzip command: /bin/gunzip -c bzip2 command: /bin/bzip2 -c -d pcat command: missing zcat command: /bin/zcat fcat command: missing unyabba command: missing Created Makefile and conf_script. Now do "make" and "make install". cd src; ../conf_script Makefile Creating Makefile from Makefile.in cd src; make enz...
emerge -puD --world are there any systempackages you might update ? this could be a quick solution USE="-nls" emerge man
USE="-nls" emerge man gives me the exact same error. emerge -puD gives about 30 packages to upgrade, but that's exactly what I was trying to do, until it stopped at man-1.5l.
try to update other packages, the try man package again mabye emerge -puD man helps you
No luck, still doesn't work, but when I do this: CC="gcc" emerge man it does work! I tried env-update && source /etc/profile and then emerge man, but that doesn't make a difference... I see a lot of sed'ding going on in the ebuild involving ${CC}: sed -e '/inst.sh/d' \ -e '/^CC =/c\' \ -e "CC = gcc" \ -e '/^CFLAGS =/c\' \ -e "CFLAGS = ${CFLAGS}" \ Makefile.in.orig > Makefile.in The Makefile.in generated from this does not include a valid CC= line where there should be one (it is in Makefile.in.orig): # use of catalogs - aeb, June 1994 /^CFLAGS =/c <= this shouldn't be here CFLAGS = -march=i686 -O3 -pipe INSTALL = @INSTALL@ Any clue's on how to get the sed thing right? (sed version = 4.0.6, btw)
try to unset CFLAGS in /etc/make.conf maybe there's a typo in it
Unsetting CFLAGS didn't help. Is there a difference between the sed used in 1.2 installs and 1.4 installs?
both are now 4.0.6
I think i've found the bug. This is the actual sed command in the -r1 ebuild: sed -e '/inst.sh/d' \ -e '/^CC =/c\' \ -e '/^CFLAGS =/c\' \ -e "CFLAGS = ${CFLAGS}" \ Makefile.in.orig > Makefile.in As you can see this line: -e "CC = gcc" \ is missing. I mistakenly copied the 1.5l (not -r1) sed command into this bug report. After I add this line to the -r1 ebuild it works. On 1.4 it always works because the CC env-var is always set there, but on 1.2 it's not (for whatever reason). That also explains why I got '/^CFLAGS =/c\ in my Makefile.in. However, after correcting this it still doesn't work, I also have to change this line: make CC="${CC}" || die into make || die The real problem seems to be this ebuild expects ${CC} to be set in the environment and on 1.2 that is not so. After changing these two things it works. Any clues?
do you have gcc-config installed ?
Nope, it's further down in the list of 'packages to install'.
try to install this, then emerge the original man ebuild i think it just has to be installed first (gcc-config)
After installing both gcc-config and gcc-2.95.3-r8 it works. ${CC} is now set, so the ebuild succeeds. I guess man should depend on gcc-2.95.3-r8 then..
Ill rather bet on bootstrap.sh merged gcc-2.95.3-r7 first. Although it did not really make a differense in the past. It is prob though to that new sed in there. The most obvious fix is to do something like: [ -z "${CC}" ] && CC=gcc in src_compile().
Note that the sed command in the -r1 ebuild IMHO is still wrong..
Adding [ -z "${CC}" ] && CC=gcc to src_compile works, even with gcc-2.95-r7 without gcc-config.
The sed and CC stuff was a bit screwy. I cleaned up the mess ... try man-1.5l-r2, and let me know if its fixed.
Perfect! works like a charm .. thank you!
Great. Ill mark -r2 stable in a bit if there are no distcc/whatever issues from it.
*** Bug 18584 has been marked as a duplicate of this bug. ***
*** Bug 99626 has been marked as a duplicate of this bug. ***
*** Bug 100854 has been marked as a duplicate of this bug. ***
This really borked my install of gentoo during emerge --emptytree system. Now after installing gcc-config and gcc, I can't emerge anything at all. 12 hours wasted, thanks.
*** Bug 106922 has been marked as a duplicate of this bug. ***
*** Bug 107222 has been marked as a duplicate of this bug. ***
Reopen, it seems to be broken again.
no, it should be fixed
1.5l is fixed, but 1.6-rc1 is broken. I don't know why bug 170222 was marked a duplicate of this bug, the version numbers are different.
*sigh* Sorry, but this is broken...
same issue, but this bug is old