Skip site navigation (1)Skip section navigation (2)
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>