# Re: Git building is borked

7 messages from 2007-03-08 to 2007-03-08. Participants: Anton Altaparmakov, Shawn O. Pearce.
Thread: https://gitlist.dev/t/7152

## Anton Altaparmakov, 2007-03-08 10:21

Subject: Git building is borked
Message-ID: <4BBB354C-B000-4EF7-B3FF-7B2A4D6DE538@cam.ac.uk>
URL: https://gitlist.dev/e/4BBB354C-B000-4EF7-B3FF-7B2A4D6DE538%40cam.ac.uk

```
Hi,

I am trying to build git on my Mac Book Pro running OSX Tiger 10.4.8  
and I have run into a problem...

[snip lots of successful output]
make -C git-gui all
GITGUI_VERSION = 0.6.GITGUI
     GEN CREDITS-FILE
error: Cannot locate authorship information.
make[1]: *** [CREDITS-FILE] Error 1
make: *** [all] Error 2

Looking at the CREDITS-GEN script it runs git for all sorts of evil  
purposes thus it appears that in order to build and install git one  
has to already got installed git!

That seems terminally flawed/broken to me...

So how do I get git installed in the first place on my OSX box?!?

Best regards,

	Anton
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

```

## Anton Altaparmakov, 2007-03-08 10:29

Subject: Re: Git building is borked
Message-ID: <F0177878-0A2B-43B0-9838-E032FB3A0A58@cam.ac.uk>
URL: https://gitlist.dev/e/F0177878-0A2B-43B0-9838-E032FB3A0A58%40cam.ac.uk
In-Reply-To: <4BBB354C-B000-4EF7-B3FF-7B2A4D6DE538@cam.ac.uk>

```
It is even worse...

Having commented out all mentions of "git-gui" from the main git  
Makefile, I was able to run make and "sudo make install" succesfully  
and now I appear to have a working git.  (-:

But now I put the git-gui mentions back into the Makefile and tried  
again it still fails.  Looking at it closer it actually requires me  
to compile within a checked out git tree, i.e. including the .git  
directory and all its contents!  That seems even weirder than  
requiring git to be installed in the first place...

Best regards,

	Anton

On 8 Mar 2007, at 10:21, Anton Altaparmakov wrote:

> Hi,
>
> I am trying to build git on my Mac Book Pro running OSX Tiger  
> 10.4.8 and I have run into a problem...
>
> [snip lots of successful output]
> make -C git-gui all
> GITGUI_VERSION = 0.6.GITGUI
>     GEN CREDITS-FILE
> error: Cannot locate authorship information.
> make[1]: *** [CREDITS-FILE] Error 1
> make: *** [all] Error 2
>
> Looking at the CREDITS-GEN script it runs git for all sorts of evil  
> purposes thus it appears that in order to build and install git one  
> has to already got installed git!
>
> That seems terminally flawed/broken to me...
>
> So how do I get git installed in the first place on my OSX box?!?
>
> Best regards,
>
> 	Anton

-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

```

## Shawn O. Pearce, 2007-03-08 14:55

Subject: Re: Git building is borked
Message-ID: <20070308145532.GA30674@spearce.org>
URL: https://gitlist.dev/e/20070308145532.GA30674%40spearce.org
In-Reply-To: <F0177878-0A2B-43B0-9838-E032FB3A0A58@cam.ac.uk>

```
Anton Altaparmakov <aia21@cam.ac.uk> wrote:
> But now I put the git-gui mentions back into the Makefile and tried  
> again it still fails.  Looking at it closer it actually requires me  
> to compile within a checked out git tree, i.e. including the .git  
> directory and all its contents!  That seems even weirder than  
> requiring git to be installed in the first place...

What version of Git specifically are you building with?  How did
you obtain these source files?

Release tarballs of Git contain a git-gui/credits file that makes
CREDITS-GEN avoid invoking the not-yet-existing Git.  Building
git-gui without this file does require not only a working Git
installation, but also the git-gui object database.  Both of these
are readily available on a Git hacker's system, and on any system
that is attempting to create a release tarball.

There are other files included in the release tarballs (version,
git-gui/version) that are also required to get a correct build when
you don't have Git installed, or are missing its object database.
Having these missing does not stop the build process, but it does
make the output of `git version` and `git gui version` relatively
useless.


So you need to be bootstrapping from a released *.tar.{gz,bz2},
which can be found here:

  http://www.kernel.org/pub/software/scm/git/


Sadly, simply downloading the source files from a random gitweb
doesn't work anymore.  Yes, I know, my fault.  ;-)

-- 
Shawn.

```

## Anton Altaparmakov, 2007-03-08 15:07

Subject: Re: Git building is borked
Message-ID: <C5E8BD06-1404-403B-88D0-F24F386A14AF@cam.ac.uk>
URL: https://gitlist.dev/e/C5E8BD06-1404-403B-88D0-F24F386A14AF%40cam.ac.uk
In-Reply-To: <20070308145532.GA30674@spearce.org>

```
On 8 Mar 2007, at 14:55, Shawn O. Pearce wrote:
> Anton Altaparmakov <aia21@cam.ac.uk> wrote:
>> But now I put the git-gui mentions back into the Makefile and tried
>> again it still fails.  Looking at it closer it actually requires me
>> to compile within a checked out git tree, i.e. including the .git
>> directory and all its contents!  That seems even weirder than
>> requiring git to be installed in the first place...
>
> What version of Git specifically are you building with?  How did
> you obtain these source files?

On my old workstation (Linux) which has the git git tree on it I  
tarred up the files in the git directory (not including the .git  
directory), then scp-ed the tar ball to my new workstation (OSX),  
untarred it there and tried to build git to boot strap...

> Release tarballs of Git contain a git-gui/credits file that makes
> CREDITS-GEN avoid invoking the not-yet-existing Git.  Building
> git-gui without this file does require not only a working Git
> installation, but also the git-gui object database.  Both of these
> are readily available on a Git hacker's system, and on any system
> that is attempting to create a release tarball.
>
> There are other files included in the release tarballs (version,
> git-gui/version) that are also required to get a correct build when
> you don't have Git installed, or are missing its object database.
> Having these missing does not stop the build process, but it does
> make the output of `git version` and `git gui version` relatively
> useless.
>
> So you need to be bootstrapping from a released *.tar.{gz,bz2},
> which can be found here:
>
>   http://www.kernel.org/pub/software/scm/git/
>
> Sadly, simply downloading the source files from a random gitweb
> doesn't work anymore.  Yes, I know, my fault.  ;-)

Ah, ok.  I did not realize that released tar balls would be different  
to just tarring up the files...

That is fair enough.  In the end I manage to boot strap myself by  
removing the git-gui stuff out of the main Makefile which allowed me  
to do make and sudo make install.  Then I used the newly installed  
git to do a "git clone" of the git repository on kernel.org, then  
build and installed that which gave me git-gui as well.

I then deleted the old git directory I used for boot strapping.

Thanks for the quick response.

Best regards,

	Anton
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

```

## Anton Altaparmakov, 2007-03-08 15:10

Subject: Re: Git building is borked
Message-ID: <16571667-1962-4BB1-824A-9D7DD0A32747@cam.ac.uk>
URL: https://gitlist.dev/e/16571667-1962-4BB1-824A-9D7DD0A32747%40cam.ac.uk
In-Reply-To: <20070308145532.GA30674@spearce.org>

```
btw. Would it be an idea to maybe make building/installing git-gui  
optional?

I actually did "make configure" and then the configure script...  It  
should not be too hard to make that detect whether it is running in  
the git repository and if not and the files are not there either  
automatically disable git-gui.  Or at least allow a "--disable-git- 
gui" switch to ./configure or something.

Would make the lives of weird people like me easier.  (-:

Best regards,

	Anton

On 8 Mar 2007, at 14:55, Shawn O. Pearce wrote:

> Anton Altaparmakov <aia21@cam.ac.uk> wrote:
>> But now I put the git-gui mentions back into the Makefile and tried
>> again it still fails.  Looking at it closer it actually requires me
>> to compile within a checked out git tree, i.e. including the .git
>> directory and all its contents!  That seems even weirder than
>> requiring git to be installed in the first place...
>
> What version of Git specifically are you building with?  How did
> you obtain these source files?
>
> Release tarballs of Git contain a git-gui/credits file that makes
> CREDITS-GEN avoid invoking the not-yet-existing Git.  Building
> git-gui without this file does require not only a working Git
> installation, but also the git-gui object database.  Both of these
> are readily available on a Git hacker's system, and on any system
> that is attempting to create a release tarball.
>
> There are other files included in the release tarballs (version,
> git-gui/version) that are also required to get a correct build when
> you don't have Git installed, or are missing its object database.
> Having these missing does not stop the build process, but it does
> make the output of `git version` and `git gui version` relatively
> useless.
>
>
> So you need to be bootstrapping from a released *.tar.{gz,bz2},
> which can be found here:
>
>   http://www.kernel.org/pub/software/scm/git/
>
>
> Sadly, simply downloading the source files from a random gitweb
> doesn't work anymore.  Yes, I know, my fault.  ;-)

-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

```

## Shawn O. Pearce, 2007-03-08 15:13

Subject: Re: Git building is borked
Message-ID: <20070308151302.GC30674@spearce.org>
URL: https://gitlist.dev/e/20070308151302.GC30674%40spearce.org
In-Reply-To: <C5E8BD06-1404-403B-88D0-F24F386A14AF@cam.ac.uk>

```
Anton Altaparmakov <aia21@cam.ac.uk> wrote:
> On 8 Mar 2007, at 14:55, Shawn O. Pearce wrote:
> >What version of Git specifically are you building with?  How did
> >you obtain these source files?
> 
> On my old workstation (Linux) which has the git git tree on it I  
> tarred up the files in the git directory (not including the .git  
> directory), then scp-ed the tar ball to my new workstation (OSX),  
> untarred it there and tried to build git to boot strap...

Since you solved your problem, this is more for the list archives
than anything:

Use `make dist` instead.  It uses your currently installed Git
to generate a tarball from the revision in HEAD, then appends in
the 4 critical files.  I use this all of the time (almost daily,
or close to it) to do builds of Git on Cygwin and Solaris 9.
In both cases I am building without `git` (or .git) available,
and am relying on just the output of `make dist`.
 
-- 
Shawn.

```

## Anton Altaparmakov, 2007-03-08 15:19

Subject: Re: Git building is borked
Message-ID: <C8A6CE49-CBAE-415E-8F40-D1062ECBD2F9@cam.ac.uk>
URL: https://gitlist.dev/e/C8A6CE49-CBAE-415E-8F40-D1062ECBD2F9%40cam.ac.uk
In-Reply-To: <20070308151302.GC30674@spearce.org>

```
On 8 Mar 2007, at 15:13, Shawn O. Pearce wrote:
> Anton Altaparmakov <aia21@cam.ac.uk> wrote:
>> On 8 Mar 2007, at 14:55, Shawn O. Pearce wrote:
>>> What version of Git specifically are you building with?  How did
>>> you obtain these source files?
>>
>> On my old workstation (Linux) which has the git git tree on it I
>> tarred up the files in the git directory (not including the .git
>> directory), then scp-ed the tar ball to my new workstation (OSX),
>> untarred it there and tried to build git to boot strap...
>
> Since you solved your problem, this is more for the list archives
> than anything:
>
> Use `make dist` instead.  It uses your currently installed Git
> to generate a tarball from the revision in HEAD, then appends in
> the 4 critical files.  I use this all of the time (almost daily,
> or close to it) to do builds of Git on Cygwin and Solaris 9.
> In both cases I am building without `git` (or .git) available,
> and am relying on just the output of `make dist`.

Ah, that is cool.  Thanks.  I will use that next time.  (-:

Best regards,

	Anton
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

```
