Subject: Re: Git's configure script --mandir doesn't work

From: Jeff King <[email-masked]>
Date: Wed, 10 Dec 2014 14:55:09 -0500

On Wed, Dec 10, 2014 at 12:41:50PM -0700, Stephen Fisher wrote:

> I'm executing ./configure --mandir=/usr/local/man --disable-pthreads 
> then gmake and gmake install.  I'm using gmake (GNU make) because I get 
> Makefile errors with the regular BSD make, but that's another issue.

You have to build git with GNU make; there are several GNU-isms in the
Makefile.

> I'm disabling pthreads because there is a linking error for undefined 
> references to a few functions (I probably need to pass -lpthread in 
> LDFLAGS, but haven't tried that yet).

We should link against -lpthread automatically unless pthreads are
disabled. So that may be an issue worth investigating.

> I noticed text files in Documentation/ that look like the content of man 
> pages, and when I run gmake in that directory, I get an error about 
> asciidoc missing to make an HTML file.  Is asciidoc required for the man 
> pages as well?

Yes, you need asciidoc to build the manpages. However, there is a "make
quick-install-man" target which will install pre-formatted manpages.
You'll need to:

  git clone git://git.kernel.org/pub/scm/git/git-manpages.git

next to your git.git clone. If you are installing from tarballs, I think
there are manpage tarballs on kernel.org, as well.

> I don't see any files that appear to be man page format 
> other than in perl/blib/man3 and those are installed (but not under the 
> mandir prefix, rather the default /usr/local/share/man prefix).

It sounds like the manpage install bailed due to asciidoc failing. So
the remaining bug is that the perl Makefile does not respect $(mandir).
That does not surprise me too much. We use perl's MakeMaker to build that
Makefile, and it looks like we just pass in the prefix, not individual
paths.

-Peff