Date: Tue, 26 Aug 2008 23:26:23 -0400 From: Alex Goncharov <alex-goncharov@comcast.net> To: freebsd-stable@FreeBSD.org Cc: Alex Goncharov <alex-goncharov@comcast.net> Subject: Another attempt [Re: Groff is not working in the latest code] Message-ID: <E1KYBfr-0006zn-FZ@daland.home> In-Reply-To: <E1KV6M2-0005nl-LY@daland.home> (message from Alex Goncharov on Mon, 18 Aug 2008 11:09:10 -0400) References: <E1KV6M2-0005nl-LY@daland.home>
next in thread | previous in thread | raw e-mail | index | archive | help
`groff' is still not working for me, and with it `man' doesn't: ---------------------------------------- $ uname -srv FreeBSD 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #34: Tue Aug 26 18:14:46 EDT 2008... $ man man /usr/bin/groff: can't find `DESC' file /usr/bin/groff:fatal error: invalid device `ascii' ---------------------------------------- I may have found some clues -- jump to under the quoted (and trimmed) message -- but I still can't make it build right, and am wondering if this is really only my personal issue and everybody else can use "man" all right... (I do the update/rebuild daily now.) ,--- I/Alex (Mon, 18 Aug 2008 11:09:10 -0400) ----* | | The following happens in 7.0-STABLE built from the source "csup"ed | either yesterday's or this morning: | | ------------------------------------------------------------ | $ truss -mm -t -Tascii tmp.mm 2>&1 | grep DESC | truss groff -mm -t -Tascii tmp.mm 2>&1 | grep DESC | open("/usr/local/share/groff/site-font/devascii/DESC",O_RDONLY,0666) | groff: can't find `DESC' file | write(2,"groff: can't find `DESC' file\n",30) = 30 (0x1e) | | $ ls -l /usr/share/groff_font/devascii/DESC | -r--r--r-- 1 root wheel 95 Aug 18 08:59 | /usr/share/groff_font/devascii/DESC | | ------------------------------------------------------------ | | Note an attempt to look for a file under /usr/local, which should not | happen for a program in "base". | | This behavior is very new -- no such problem existed in the code | fetched last Saturday. There, I see: | | ------------------------------------------------------------ | $ truss groff -mm -t -Tascii tmp.mm 2>&1 | grep DESC | open("/usr/share/groff_font/devascii/DESC",O_RDONLY,0666) = 3 (0x3) | ------------------------------------------------------------ | `-------------------------------------------------* So, I looked at how things are being built and think that the following is supposed to happen with respect to `groff' -- a GNU program: 1. The build is driven by `gnu/usr.bin/groff/Makefile' (all paths in the following are relative to `/usr/src'. 2. During the build, the original "contrib" code is used, to be found in `contrib/groff'. That code is configured by the pristine `contrib/groff/configure' and results in setting the "prefix" to the GNU-usual `/usr/local' and generating the FreeBSD-unaware `defs.h' and `config.h'. 3. Then some magic "is supposed to happen / was happening two weeks ago for me", when the newly generated `defs.h' and `config.h' are replaced with the FreeBSD hard versions that had been delivered from CVS -- and the paths get corrected to eliminate the `local' component from them and do other path adjustments to bring it all to the FreeBSD standards: -------------------- $ diff contrib/groff/src/include/defs.h gnu/usr.bin/groff/src/include/defs.h | head -n 12 0a1,2 > /* $FreeBSD: src/gnu/usr.bin/groff/src/include/defs.h,v 1.4 2001/04/17 12:37:07 ru Exp $ */ > 3,6c5,7 < #define INSTALLPATH "/usr/local" < #define BINPATH "/usr/local/bin" < #define FONTPATH "/usr/local/share/groff/site-font:/usr/local/share/groff/1.19.2/font:/usr/lib/font" < #define MACROPATH "/usr/local/lib/groff/site-tmac:/usr/local/share/groff/site-tmac:/usr/local/share/groff/1.19.2/tmac" --- > #define BINPATH "/usr/bin" > #define FONTPATH "/usr/share/groff_font" > #define MACROPATH "/usr/share/tmac" $ diff contrib/groff/src/include/config.h gnu/usr.bin/groff/src/include/config.h 0a1,2 > /* $FreeBSD: src/gnu/usr.bin/groff/src/include/config.h,v 1.5 2005/10/20 10:57:52 ru Exp $ */ > -------------------- 4. Then the build happens with whatever `defs.h' and `config.h' will be found at that time under `contrib/groff/src/include'. If the step 3 worked before but is not working now, it explains my current end results. But how about others: everything works for you? What could have triggered the change in the process for me a week or so ago? Anybody is able and willing to lead me out of my lasting misery? Thanks, -- Alex -- alex-goncharov@comcast.net --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1KYBfr-0006zn-FZ>