Subject: Re: Help needed for solving a few issues with building git

From: Kaartic Sivaraam <[email-masked]>
Date: Wed, 05 Jul 2017 01:30:19 +0530

On Mon, 2017-07-03 at 11:13 -0700, Junio C Hamano wrote:
>     Adding HTTPS support
> > >     --------------------
> > >     I tried to add HTTP/HTTPS support to the custom built version
> > > for which
> > >     AFAIK 'git' depends on 'curl'. I tried providing the location
> > > of the
> > >     curl source in the Makefile using the following line after
> > > reading the
> > >     instructions in the Makefile.
> > > 
> > >     CURLDIR=/path/to/curl/source
> > 
>  Shouldn't this point at an installed location (iow, we do not build
>  curl from the source while building Git)?
>  
>      # Define CURLDIR=/foo/bar if your curl header and library files
>  are in
>      # /foo/bar/include and /foo/bar/lib directories.
I tried pointing it to the installed location, it doesn't seem to be
working. To elaborate a little on what I did,

        * I installed the "libcurl4-openssl-dev" package b
        * I found that the 'include' directory to be present  at
        '/usr/include/x86_64-linux-gnu/curl'. I wasn't sure if
        '/usr/lib/x86_64-linux-gnu/' is the corresponding library
        directory. 
        * I took the common parent of both '/usr' and ran the following 
          commands to build 'git'

            $ make CURLDIR=/usr prefix=/custom/location
            $ make CURLDIR=/usr install prefix=/custom/location

        * The build did succeed but I get an error that "'https' helper
        is not found"

Was anything I did, wrong?

>  This is probably because you are trying to run without installing?
Nope. I'm *installing* git not using the binary wrappers.

>  Ask the "git" you built what its --exec-path is, and run "ls" on
>  that directory to see if you have git-remote-https installed?
>  
Obviously, I don't see any 'git-remote-https' binary in the folder to
which I built git.

>  Trying a freshly built Git binaries without installing is done by
>  setting GIT_EXEC_PATH to point at bin-wrappers/ directory at the
>  top-level of your build tree (that is how our tests can run on an
>  otherwise virgin box with no Git installed).
> 

On Mon, 2017-07-03 at 13:11 -0700, Junio C Hamano wrote:
> Junio C Hamano <[email-masked]> writes:
> 
>     $ make NO_GETTEXT=1 NO_MSGFMT=1
> 
> may help.
> 
Ok, I seem to have crapped a little. It seems following the intructions
in the Makefile blindly led to this issue. Reading the instruction
"Define NO_GETTEXT if you don't want Git output to be translated.", I
defined NO_GETTEXT=1 in the Makefile itself! (as specified in the
previous thread)

I'm able to build git without localization support by using the
following command,

    make NO_GETTEXT=1 prefix=/custom/location

> NO_GETTEXT is "My build environment may or may not be capable of
> doing the gettext things, but I choose not to use it in my build
> result" but NO_MSGFMT is simply "I do not have the msgfmt tool".
> 
> Having to specify both is rather unfortunate and we may want to
> streamline this.
I guess it's not required!

-- 
Kaartic