threads / discuss / 31525

Git Perl module not installed to --prefix

Subject: Git Perl module not installed to --prefix

## tl;dr

2 messages between Sep 13, 2012 and Sep 13, 2012.

replies: 1people: 1as markdown or json

Peter Colberg· Sep 13, 2012, 18:30 UTC · lore
Hi,

I have trouble installing the Git Perl module to the correct installation prefix, which is required for git send-email.

The problem is reproducible with the following commands:
    ./configure --prefix=/home/peter/usr/rhel6-x86_64/git-1.7.12
    make
    make install
While git is installed to --prefix, the Git Perl module is not:
    …
    make -C templates DESTDIR='' install
    make[2]: Entering directory `/tmp/git/git-1.7.12/templates'
    install -d -m 755 '/home/peter/usr/rhel6-x86_64/git-1.7.12/share/git-core/templates'
    (cd blt && gtar cf - .) | \
            (cd '/home/peter/usr/rhel6-x86_64/git-1.7.12/share/git-core/templates' && umask 022 && gtar xof -)
    make[2]: Leaving directory `/tmp/git/git-1.7.12/templates'
    install -d -m 755 '/home/peter/usr/rhel6-x86_64/git-1.7.12/libexec/git-core/mergetools'
    install -m 644 mergetools/* '/home/peter/usr/rhel6-x86_64/git-1.7.12/libexec/git-core/mergetools'
    install -d -m 755 '/home/peter/usr/rhel6-x86_64/git-1.7.12/share/locale'
    (cd po/build/locale && gtar cf - .) | \
            (cd '/home/peter/usr/rhel6-x86_64/git-1.7.12/share/locale' && umask 022 && gtar xof -)
    make -C perl prefix='/home/peter/usr/rhel6-x86_64/git-1.7.12' DESTDIR='' install
    make[2]: Entering directory `/tmp/git/git-1.7.12/perl'
    make[3]: Entering directory `/tmp/git/git-1.7.12/perl'
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/I18N.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/IndexInfo.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Log.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Fetcher.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Ra.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Prompt.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Migration.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Utils.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Editor.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/GlobSpec.pm
    Installing /home/peter/usr/rhel6-x86_64/share/perl5/Git/SVN/Memoize/YAML.pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::SVN::Prompt.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::SVN::Fetcher.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::SVN::Editor.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::I18N.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::SVN::Memoize::YAML.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::SVN::Ra.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git.3pm
    Installing /home/peter/usr/rhel6-x86_64/share/man/man3/Git::SVN::Utils.3pm
    Appending installation info to /home/peter/usr/rhel6-x86_64/lib64/perl5/perllocal.pod
    make[3]: Leaving directory `/tmp/git/git-1.7.12/perl'
    make[2]: Leaving directory `/tmp/git/git-1.7.12/perl'
    …
As seen above, the perl module is installed to the parent directory.
Strangely, if perl/Makefile is invoked manually, it works:
    make -C perl prefix='/home/peter/usr/rhel6-x86_64/git-1.7.12' DESTDIR='' install
    make: Entering directory `/tmp/git/git-1.7.12/perl'
    make[1]: Entering directory `/tmp/git/git-1.7.12/perl'
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/I18N.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/IndexInfo.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Log.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Fetcher.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Ra.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Prompt.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Migration.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Utils.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Editor.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/GlobSpec.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/perl5/Git/SVN/Memoize/YAML.pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::SVN::Prompt.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::SVN::Fetcher.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::SVN::Editor.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::I18N.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::SVN::Memoize::YAML.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::SVN::Ra.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git.3pm
    Installing /home/peter/usr/rhel6-x86_64/git-1.7.12/share/man/man3/Git::SVN::Utils.3pm
    Appending installation info to /home/peter/usr/rhel6-x86_64/git-1.7.12/lib64/perl5/perllocal.pod
    make[1]: Leaving directory `/tmp/git/git-1.7.12/perl'
    make: Leaving directory `/tmp/git/git-1.7.12/perl'

Thanks, Peter

Peter Colberg· Sep 13, 2012, 18:40 UTC · re: Peter Colberg · lore

Re: Git Perl module not installed to --prefix

On Thu, Sep 13, 2012 at 02:30:19PM -0400, Peter Colberg wrote:
Show 10 quoted lines
> I have trouble installing the Git Perl module to the correct
> installation prefix, which is required for git send-email.
> 
> The problem is reproducible with the following commands:
> 
>     ./configure --prefix=/home/peter/usr/rhel6-x86_64/git-1.7.12
>     make
>     make install
> 
> While git is installed to --prefix, the Git Perl module is not:

Sorry, I have figured out the reason: The above commands are in fact invoked from an installation makefile, which uses PREFIX as the package installation prefix. Apparently this PREFIX variable was inherited by make install, but only for the perl module.

    make -f packages.mk PREFIX=/home/peter/usr/rhel6-x86_64 CONCURRENCY_LEVEL=16 install-git
If I run configure/make/make install manually, it works fine.
Please excuse the false report.
Peter

← back to recent threads