Another attempt [Re: Groff is not working in the latest code]

Yuri Pankov yuri.pankov at gmail.com
Wed Aug 27 04:33:52 UTC 2008


Alex Goncharov wrote:
> `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'
> ----------------------------------------
> 

[snip]

> 
> 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'.

contrib/groff/configure shouldn't be called at all, looks like there's
something wrong with your local build environment. Check timestamps on
src/contrib/groff and src/gnu/usr.bin/groff contents (try removing them
and checkout again). Posting relevant entries from /etc/{make,src}.conf
and your `env` output could be helpful too.

> 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         

yuri:/usr/src> diff -u contrib/groff/src/include/defs.h
gnu/usr.bin/groff/src/include/defs.h
diff: contrib/groff/src/include/defs.h: No such file or directory

[snip]

> 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?

`man man` works for me on 7.0-RELEASE with groff built from RELENG_7 src.

> Anybody is able and willing to lead me out of my lasting misery?
> 
> Thanks,
> 
> -- Alex -- alex-goncharov at comcast.net --


HTH,
Yuri


More information about the freebsd-stable mailing list