Summary: | sys-apps/man-1.5l-r2 fails to build with man.c:1107: `q' undeclared (first use in this function) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | giggles1 <bevdv> |
Component: | [OLD] Core system | Assignee: | Martin Schlemmer (RETIRED) <azarah> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | seemant |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | output from emerge |
Description
giggles1
2003-04-09 11:09:11 UTC
Created attachment 10437 [details]
output from emerge
does this happen without colorgcc as well? Yes it happens even if colorgcc is unmerged. I dont know what to do about that 'q' thing anymore. I have tried to fix it a dozen ways, and each fails somewhere else. What version of sed installed (emerge epm; epm -q sed), and attach output of 'emerge info'. please:/tmp# epm -q sed sed-4.0.6 please:/tmp# emerge info Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.4.20 i686 AMD Athlon(tm) MP 2000+ GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/portage" PORTDIR_OVERLAY="/usr/local/portage" USE="x86 oss apm cups mikmod nls xml2 gdbm slang ruby libwww motif X 3dnow mmx directfb sse dga opengl xv fbcon kde qt qtmt arts tcltk aalib imlib ncurses readline sdl svga lcms gif jpeg png tiff gd avi mpeg quicktime esd gtk -gnome alsa ggi dvd xmms oggvorbis encode pam ssl crypt tcpd mozilla spell truetype xml pdflib plotutils tetex guile perl python libg++ atlas pic berkdb mysql postgres odbc samba gpm zlib java" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-mp -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4" CXXFLAGS="-march=athlon-mp -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j4" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache" Juts FYI, I tried with a pared down CFLAGS and USE commented out completely, and it still fails in the same way. Also, If I replace GREPSILENT in man.c with the char constant 'q' by hand and it compiles fine. OK, so I don't know why the substitution is not working, but I gave up trying to be subtle. I change the patch: /usr/portage/sys-apps/man/files/man-1.5l-wrong-quotes.patch which has the offending assignment to just use the hard coded hex ascii vallue for 'q' --- man-1.5k/src/Makefile.in.orig 2002-12-26 06:43:39.000000000 +0200 +++ man-1.5k/src/Makefile.in 2002-12-26 06:48:18.000000000 +0200 @@ -16,7 +16,7 @@ pager = @pager@ -GS = -DGREPSILENT=\'@grepsilent@\' +GS = -DGREPSILENT=0x71 DEFS = @DEFS@ $(GS) CWARN = -Wall -Wstrict-prototypes -Wmissing-prototypes CWARNNP = -Wall and it builds fine now. I don't know what a better solution is. Can you merge supersed, and then cp /bin/sed to /bin/sed.old for example, and then link ssed to sed, and see if it works unpatched then ? Well, man has always had the "wrong quotes" patch, so I am going to assume you mean the *original* patch, before I modified it, i.e. the one with +GS = -DGREPSILENT="'@grepsilent@'" Anyhow, I tried what you suggested and it still fails, with the same error. The actual gcc command issued looks fine, so I think maybe the problem is after automake/sed do their business. Right. I do not want to hardcode 'q', and thus is why I have not simply changed it in the past. I went with your hexdecimal idea, and changed the patch to: ----------------------------------------------------------------- --- man-1.5k/src/Makefile.in.orig 2002-12-26 06:43:39.000000000 +0200 +++ man-1.5k/src/Makefile.in 2002-12-26 06:48:18.000000000 +0200 @@ -16,7 +16,7 @@ pager = @pager@ -GS = -DGREPSILENT=\'@grepsilent@\' +GS = -DGREPSILENT=$(shell echo "@grepsilent@" | hexdump -d -n 1 | gawk '{ printf("0x%x", $$2); exit 0 }') DEFS = @DEFS@ $(GS) CWARN = -Wall -Wstrict-prototypes -Wmissing-prototypes CWARNNP = -Wall ---------------------------------------------------------------- Which fixes it, and still will handle 'grepsilent' changing. breaks building stage2, see bug #20095 |