# Question about installing git from source

6 messages from 2014-12-23 to 2014-12-24. Participants: Alexander Kuleshov, Junio C Hamano.
Thread: https://gitlist.dev/t/38231

## Alexander Kuleshov, 2014-12-23 08:55

Subject: Question about installing git from source
Message-ID: <CANCZXo42SdM8hMdTFYgvD8D+RmXua1oJvB+FfTjjfR=yWqhmkg@mail.gmail.com>
URL: https://gitlist.dev/e/CANCZXo42SdM8hMdTFYgvD8D%2BRmXua1oJvB%2BFfTjjfR%3DyWqhmkg%40mail.gmail.com

```
Hello All,

Trying to install git from source, executing:

make configure
./configure --prefix=/usr
make --prefix=/usr all
sudo make install DISTDIR=/usr

And getting following:

install -d -m 755 '/usr/usr/bin'
Copying scripts to /usr/bin
cp: omitting directory ‘autom4te.cache’
cp: omitting directory ‘bin-wrappers’
cp: omitting directory ‘block-sha1’
cp: omitting directory ‘builtin’
cp: omitting directory ‘compat’
cp: omitting directory ‘contrib’
cp: omitting directory ‘Documentation’
cp: omitting directory ‘ewah’
cp: omitting directory ‘git-gui’
cp: omitting directory ‘gitk-git’
cp: omitting directory ‘gitweb’
cp: omitting directory ‘mergetools’
cp: omitting directory ‘perl’
cp: omitting directory ‘po’
cp: omitting directory ‘ppc’
cp: omitting directory ‘t’
cp: omitting directory ‘templates’
cp: omitting directory ‘vcs-svn’
cp: omitting directory ‘xdiff’
Done

What's problem can be here?

Thank you.

```

## Junio C Hamano, 2014-12-23 17:03

Subject: Re: Question about installing git from source
Message-ID: <xmqqioh247th.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqioh247th.fsf%40gitster.dls.corp.google.com
In-Reply-To: <CANCZXo42SdM8hMdTFYgvD8D+RmXua1oJvB+FfTjjfR=yWqhmkg@mail.gmail.com>

```
Alexander Kuleshov <kuleshovmail@gmail.com> writes:

> Trying to install git from source, executing:
>
> make configure
> ./configure --prefix=/usr
> make --prefix=/usr all
> sudo make install DISTDIR=/usr

That does not seem to match any of the ways how INSTALL tells us to
build and install.

Excerpts from INSTALL

    (1) ... If you want to do a global install, you can do

        $ make prefix=/usr all doc info ;# as yourself
        # make prefix=/usr install install-doc install-html install-info ;# as root

Note how "prefix" is spelled.

   (2) Alternatively you can use autoconf generated ./configure
       script to set up install paths (via config.mak.autogen), so
       you can write instead

        $ make configure ;# as yourself
        $ ./configure --prefix=/usr ;# as yourself
        $ make all doc ;# as yourself
        # make install install-doc install-html;# as root

Note how "make" does not have any "prefix".

Also when you install to a temporary directory so that you can tar
up the resulting hierarchy, the variable to use is spelled DESTDIR,
e.g.

	make DESTDIR=/var/tmp/git-2.2.1 install install-doc

> ...
> What's problem can be here?

Hopefully the above would be a good start to help you figure that
out.

```

## Alexander Kuleshov, 2014-12-23 17:13

Subject: Re: Question about installing git from source
Message-ID: <CANCZXo4daZffQ7binFpHBy9adKKeuwHuR5VRixXUowMdgAdhTQ@mail.gmail.com>
URL: https://gitlist.dev/e/CANCZXo4daZffQ7binFpHBy9adKKeuwHuR5VRixXUowMdgAdhTQ%40mail.gmail.com
In-Reply-To: <xmqqioh247th.fsf@gitster.dls.corp.google.com>

```
Hell Junio,

Look I download git from master, executed following:

make configure
make prefix=/usr all
sudo make prefix=/usr install

And got the same during installing:

~/dev/git $ sudo make prefix=/usr install
    GEN perl/PM.stamp
    SUBDIR perl
/usr/bin/perl Makefile.PL PREFIX='/usr' INSTALL_BASE=''
--localedir='/usr/share/locale'
Generating a Unix-style perl.mak
Writing perl.mak for Git
Writing MYMETA.yml and MYMETA.json
    GEN git-add--interactive
    GEN git-difftool
    GEN git-archimport
    GEN git-cvsexportcommit
    GEN git-cvsimport
    GEN git-cvsserver
    GEN git-relink
    GEN git-send-email
    GEN git-svn
    GEN git-p4
    SUBDIR gitweb
    SUBDIR ../
make[2]: 'GIT-VERSION-FILE' is up to date.
    GEN git-instaweb
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Prompt.pm >blib/lib/Git/SVN/Prompt.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Editor.pm >blib/lib/Git/SVN/Editor.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Fetcher.pm >blib/lib/Git/SVN/Fetcher.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Utils.pm >blib/lib/Git/SVN/Utils.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Log.pm >blib/lib/Git/SVN/Log.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Memoize/YAML.pm >blib/lib/Git/SVN/Memoize/YAML.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN.pm >blib/lib/Git/SVN.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Migration.pm >blib/lib/Git/SVN/Migration.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/IndexInfo.pm >blib/lib/Git/IndexInfo.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/GlobSpec.pm >blib/lib/Git/SVN/GlobSpec.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/SVN/Ra.pm >blib/lib/Git/SVN/Ra.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>" <Git.pm
>blib/lib/Git.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/share/locale>"
<Git/I18N.pm >blib/lib/Git/I18N.pm
    SUBDIR templates
install -d -m 755 '/usr/bin'
Copying scripts to /usr/bin
cp: omitting directory ‘bin-wrappers’
cp: omitting directory ‘block-sha1’
cp: omitting directory ‘builtin’
cp: omitting directory ‘compat’
cp: omitting directory ‘contrib’
cp: omitting directory ‘Documentation’
cp: omitting directory ‘ewah’
cp: omitting directory ‘git-gui’
cp: omitting directory ‘gitk-git’

...

2014-12-23 23:03 GMT+06:00 Junio C Hamano <gitster@pobox.com>:
> Alexander Kuleshov <kuleshovmail@gmail.com> writes:
>
>> Trying to install git from source, executing:
>>
>> make configure
>> ./configure --prefix=/usr
>> make --prefix=/usr all
>> sudo make install DISTDIR=/usr
>
> That does not seem to match any of the ways how INSTALL tells us to
> build and install.
>
> Excerpts from INSTALL
>
>     (1) ... If you want to do a global install, you can do
>
>         $ make prefix=/usr all doc info ;# as yourself
>         # make prefix=/usr install install-doc install-html install-info ;# as root
>
> Note how "prefix" is spelled.
>
>    (2) Alternatively you can use autoconf generated ./configure
>        script to set up install paths (via config.mak.autogen), so
>        you can write instead
>
>         $ make configure ;# as yourself
>         $ ./configure --prefix=/usr ;# as yourself
>         $ make all doc ;# as yourself
>         # make install install-doc install-html;# as root
>
> Note how "make" does not have any "prefix".
>
> Also when you install to a temporary directory so that you can tar
> up the resulting hierarchy, the variable to use is spelled DESTDIR,
> e.g.
>
>         make DESTDIR=/var/tmp/git-2.2.1 install install-doc
>
>> ...
>> What's problem can be here?
>
> Hopefully the above would be a good start to help you figure that
> out.



-- 
_________________________
0xAX

```

## Junio C Hamano, 2014-12-23 17:43

Subject: Re: Question about installing git from source
Message-ID: <xmqq1tnq45yk.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqq1tnq45yk.fsf%40gitster.dls.corp.google.com
In-Reply-To: <CANCZXo4daZffQ7binFpHBy9adKKeuwHuR5VRixXUowMdgAdhTQ@mail.gmail.com>

```
Alexander Kuleshov <kuleshovmail@gmail.com> writes:

> install -d -m 755 '/usr/bin'
> Copying scripts to /usr/bin

As 'git grep "Copying scripts"' gives us nothing, the message is
obviously not what we are giving.  Perhaps you have a strange "install"
in your path that does not understand "-d" is a way to tell it to
make sure a directory exists (by creating one as necessary)?

```

## Alexander Kuleshov, 2014-12-23 17:53

Subject: Re: Question about installing git from source
Message-ID: <CANCZXo4q-TwH8WyqP1GYcUY-obWG1HAt8gSEs7jy5TJiUDG0HA@mail.gmail.com>
URL: https://gitlist.dev/e/CANCZXo4q-TwH8WyqP1GYcUY-obWG1HAt8gSEs7jy5TJiUDG0HA%40mail.gmail.com
In-Reply-To: <xmqq1tnq45yk.fsf@gitster.dls.corp.google.com>

```
I looked at Makefile, and seems that it occurs from here:
https://github.com/git/git/blob/master/Makefile#L2205

It tries to copy all files/folders from git root directory but
'install' command prints this error. I tried to execute 'sudo install
-d -m 755' in other directory and if there is directory too it prints
the same error. For example:

~/scripts $ ls
addPPA    cleanMailTrash  git-autor    git-ranges       git-tp
            install     scripts    ssh-live       term-help  tp-git
    updateMail  xray-start
buildGit  deployWork      git-install  git-remove-tags
git-update-commit-message  install.sh  ssh-build  ssh-wiwob-lab  test
     updateGitDev  updateNews

test - is directory here

~/scripts $ sudo install -d -m 755 .
Copying scripts to /usr/bin
cp: omitting directory ‘test’
Done

2014-12-23 23:43 GMT+06:00 Junio C Hamano <gitster@pobox.com>:
> Alexander Kuleshov <kuleshovmail@gmail.com> writes:
>
>> install -d -m 755 '/usr/bin'
>> Copying scripts to /usr/bin
>
> As 'git grep "Copying scripts"' gives us nothing, the message is
> obviously not what we are giving.  Perhaps you have a strange "install"
> in your path that does not understand "-d" is a way to tell it to
> make sure a directory exists (by creating one as necessary)?
>



-- 
_________________________
0xAX

```

## Alexander Kuleshov, 2014-12-24 07:52

Subject: Re: Question about installing git from source
Message-ID: <CANCZXo730yBxQEeCir2KZ4KxOn8RiOPyQf7Wd_AmTSR71H+NYQ@mail.gmail.com>
URL: https://gitlist.dev/e/CANCZXo730yBxQEeCir2KZ4KxOn8RiOPyQf7Wd_AmTSR71H%2BNYQ%40mail.gmail.com
In-Reply-To: <CANCZXo4q-TwH8WyqP1GYcUY-obWG1HAt8gSEs7jy5TJiUDG0HA@mail.gmail.com>

```
Yeah, was wrong install script.

thank you.

2014-12-23 23:53 GMT+06:00 Alexander Kuleshov <kuleshovmail@gmail.com>:
> I looked at Makefile, and seems that it occurs from here:
> https://github.com/git/git/blob/master/Makefile#L2205
>
> It tries to copy all files/folders from git root directory but
> 'install' command prints this error. I tried to execute 'sudo install
> -d -m 755' in other directory and if there is directory too it prints
> the same error. For example:
>
> ~/scripts $ ls
> addPPA    cleanMailTrash  git-autor    git-ranges       git-tp
>             install     scripts    ssh-live       term-help  tp-git
>     updateMail  xray-start
> buildGit  deployWork      git-install  git-remove-tags
> git-update-commit-message  install.sh  ssh-build  ssh-wiwob-lab  test
>      updateGitDev  updateNews
>
> test - is directory here
>
> ~/scripts $ sudo install -d -m 755 .
> Copying scripts to /usr/bin
> cp: omitting directory ‘test’
> Done
>
> 2014-12-23 23:43 GMT+06:00 Junio C Hamano <gitster@pobox.com>:
>> Alexander Kuleshov <kuleshovmail@gmail.com> writes:
>>
>>> install -d -m 755 '/usr/bin'
>>> Copying scripts to /usr/bin
>>
>> As 'git grep "Copying scripts"' gives us nothing, the message is
>> obviously not what we are giving.  Perhaps you have a strange "install"
>> in your path that does not understand "-d" is a way to tell it to
>> make sure a directory exists (by creating one as necessary)?
>>
>
>
>
> --
> _________________________
> 0xAX



-- 
_________________________
0xAX

```
