threads / discuss / 38231

Question about installing git from source

Subject: Question about installing git from source

## tl;dr

6 messages between Dec 23, 2014 and Dec 24, 2014.

replies: 5people: 2as markdown or json

Alexander Kuleshov· Dec 23, 2014, 08:55 UTC · lore
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· Dec 23, 2014, 17:03 UTC · re: Alexander Kuleshov · lore

Re: Question about installing git from source

Alexander Kuleshov <kuleshovmail@gmail.com> writes:
Show 6 quoted lines
> 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· Dec 23, 2014, 17:13 UTC · re: Junio C Hamano · lore

Re: Question about installing git from source

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>:
Show 43 quoted lines
> 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· Dec 23, 2014, 17:43 UTC · re: Alexander Kuleshov · lore

Re: Question about installing git from source

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· Dec 23, 2014, 17:53 UTC · re: Junio C Hamano · lore

Re: Question about installing git from source

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>:
Show 10 quoted lines
> 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· Dec 24, 2014, 07:52 UTC · re: Alexander Kuleshov · lore

Re: Question about installing git from source

Yeah, was wrong install script.
thank you.
2014-12-23 23:53 GMT+06:00 Alexander Kuleshov <kuleshovmail@gmail.com>:
Show 40 quoted lines
> 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

← back to recent threads