Bug 18361 - man-1.5l fails to emerge with error: ./makemsg: Command not found
|
Bug#:
18361
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: base-system@gentoo.org
|
Reported By: r.moesbergen@casema.nl
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: man-1.5l fails to emerge with error: ./makemsg: Command not found
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2003-03-28 06:18 0000
|
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?
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.
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.
*** Bug 107222 has been marked as a duplicate of this bug. ***
*sigh* Sorry, but this is broken...
same issue, but this bug is old