* Reduced privileges install
@ 2010-09-19 23:50 Andrew Keller
2010-09-20 1:07 ` Randal L. Schwartz
2010-09-20 14:53 ` Brandon Casey
0 siblings, 2 replies; 17+ messages in thread
From: Andrew Keller @ 2010-09-19 23:50 UTC (permalink / raw)
To: Git List
Hello, all. Quick question:
I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class.
'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'.
There were a few hiccups at first – things like CC not being defined, tclsh not existing, the path to python being wrong, etc, but they were all relatively easy to work around. This last error, however, not so much luck.
Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log:
$ make install
...
make -C templates DESTDIR='' install
make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'
/usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates'
(cd blt && gtar cf - .) | \
(cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -)
make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'
make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install
make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'
make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'
Warning: You do not have permissions to install into /usr/perl5/site_perl/5.6.1/sun4-solaris-64int at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 85.
Installing /usr/perl5/site_perl/5.6.1/Error.pm
Installing /usr/perl5/site_perl/5.6.1/Git.pm
mkdir /usr/perl5/site_perl/5.6.1/sun4-solaris-64int/auto: Permission denied at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 165
make[2]: *** [pure_site_install] Error 255
make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'
make: *** [install] Error 2
So anyways, it appears that it is trying to install into a directory in which I do not have write permissions. But why? I thought that setting the prefix to a folder in my home directory would change that. Is there another parameter I'm forgetting about at the configure stage?
Thanks,
Andrew Keller
PS: not sure if it matters, but just in case...
path to perl: /bin/perl
version of perl: 5.6.1
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: Reduced privileges install 2010-09-19 23:50 Reduced privileges install Andrew Keller @ 2010-09-20 1:07 ` Randal L. Schwartz 2010-09-20 1:31 ` Andrew Keller 2010-09-20 14:53 ` Brandon Casey 1 sibling, 1 reply; 17+ messages in thread From: Randal L. Schwartz @ 2010-09-20 1:07 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List >>>>> "Andrew" == Andrew Keller <andrew@kellerfarm•com> writes: Andrew> Because I do not own the server and my account has restricted Andrew> privileges, I attempted to augment my PATH to include a Andrew> directory in my home folder, and then install git in there by Andrew> specifying a prefix at the configure stage. The configure and Andrew> the make work, but the make install fails. Here's the last Andrew> section of the log: What's your PREFIX set to? If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs. Andrew> $ make install Yeah, I don't see a prefix here, unless you set it in your Makefile. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <merlyn@stonehenge•com> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 1:07 ` Randal L. Schwartz @ 2010-09-20 1:31 ` Andrew Keller 2010-09-20 6:51 ` Kevin Ballard 0 siblings, 1 reply; 17+ messages in thread From: Andrew Keller @ 2010-09-20 1:31 UTC (permalink / raw) To: Git List On Sep 19, 2010, at 9:07 PM, Randal L. Schwartz wrote: > "Andrew" == Andrew Keller <andrew@kellerfarm•com> writes: > >> Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log: > > What's your PREFIX set to? If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs. Here's what I executed: $ ./configure --prefix=/usr/users/students/ak4390/.local $ make $ make install I also tried providing the --oldincludedir and --datadir parameters, but I got the same result. ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 1:31 ` Andrew Keller @ 2010-09-20 6:51 ` Kevin Ballard 2010-09-20 14:06 ` Andrew Keller 2010-09-20 14:40 ` Matthieu Moy 0 siblings, 2 replies; 17+ messages in thread From: Kevin Ballard @ 2010-09-20 6:51 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List On Sep 19, 2010, at 6:31 PM, Andrew Keller wrote: > On Sep 19, 2010, at 9:07 PM, Randal L. Schwartz wrote: >> "Andrew" == Andrew Keller <andrew@kellerfarm•com> writes: >> >>> Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log: >> >> What's your PREFIX set to? If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs. > > > Here's what I executed: > > $ ./configure --prefix=/usr/users/students/ak4390/.local > $ make > $ make install > > I also tried providing the --oldincludedir and --datadir parameters, but I got the same result. I admit, I'm not well-versed on the build system, but my impression was that specifying --prefix in ./configure was indeed supposed to propagate to a subsequent make and make install. However, you may wish to attempt the following to be sure: $ make PREFIX=/usr/users/students/ak4390/.local $ make install PREFIX=/usr/users/students/ak4390/.local -Kevin Ballard ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 6:51 ` Kevin Ballard @ 2010-09-20 14:06 ` Andrew Keller 2010-09-20 14:40 ` Matthieu Moy 1 sibling, 0 replies; 17+ messages in thread From: Andrew Keller @ 2010-09-20 14:06 UTC (permalink / raw) To: Git List On Sep 20, 2010, at 2:51 AM, Kevin Ballard wrote: > On Sep 19, 2010, at 6:31 PM, Andrew Keller wrote: >> On Sep 19, 2010, at 9:07 PM, Randal L. Schwartz wrote: >>> "Andrew" == Andrew Keller <andrew@kellerfarm•com> writes: >>> >>>> Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log: >>> >>> What's your PREFIX set to? If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs. >> >> Here's what I executed: >> >> $ ./configure --prefix=/usr/users/students/ak4390/.local >> $ make >> $ make install >> >> I also tried providing the --oldincludedir and --datadir parameters, but I got the same result. > > I admit, I'm not well-versed on the build system, but my impression was that specifying --prefix in ./configure was indeed supposed to propagate to a subsequent make and make install. However, you may wish to attempt the following to be sure: > > $ make PREFIX=/usr/users/students/ak4390/.local > $ make install PREFIX=/usr/users/students/ak4390/.local The same error occurs when providing the prefix to the build and install segments. ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 6:51 ` Kevin Ballard 2010-09-20 14:06 ` Andrew Keller @ 2010-09-20 14:40 ` Matthieu Moy 2010-09-20 14:52 ` Randal L. Schwartz 2010-09-20 15:48 ` Andrew Keller 1 sibling, 2 replies; 17+ messages in thread From: Matthieu Moy @ 2010-09-20 14:40 UTC (permalink / raw) To: Kevin Ballard; +Cc: Andrew Keller, Git List Andrew Keller <andrew@kellerfarm•com> writes: > make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install > make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' > make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' > Warning: You do not have permissions to install into /usr/perl5/site_perl/5.6.1/sun4-solaris-64int at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 85. The DESTDIR='' is suspicious. It seems the prefix is not passed properly in recursive "make" invocations, and perl tries to install things in the default directory. Kevin Ballard <kevin@sb•org> writes: > Andrew Keller <andrew@kellerfarm•com> writes: >> $ ./configure --prefix=/usr/users/students/ak4390/.local >> $ make >> $ make install > > I admit, I'm not well-versed on the build system, but my impression > was that specifying --prefix in ./configure was indeed supposed to > propagate to a subsequent make and make install. It does. I installed Git successfully without ever being root on several machines. In my case, it was GNU/Linux machines, so something may go wrong because of a non-gnu system. Did you try compiling with gmake instead of make? -- Matthieu Moy http://www-verimag.imag.fr/~moy/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 14:40 ` Matthieu Moy @ 2010-09-20 14:52 ` Randal L. Schwartz 2010-09-20 15:48 ` Andrew Keller 1 sibling, 0 replies; 17+ messages in thread From: Randal L. Schwartz @ 2010-09-20 14:52 UTC (permalink / raw) To: Matthieu Moy; +Cc: Kevin Ballard, Andrew Keller, Git List >>>>> "Matthieu" == Matthieu Moy <Matthieu.Moy@grenoble-inp•fr> writes: Matthieu> In my case, it was GNU/Linux machines, so something may go wrong Matthieu> because of a non-gnu system. Did you try compiling with gmake instead Matthieu> of make? Works fine for me on OSX. Here's my build script: get.git: cd ~/MIRROR/git-GIT && git fetch && git diff --stat live origin/master make.git: cd ~/MIRROR/git-GIT && git reset --hard origin/master && make prefix=/opt/git all install quick-install-man && git tag -f live HEAD And everything (including the Perl bits) ends up under /opt/git. I don't even run configure. Not sure why I would. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <merlyn@stonehenge•com> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 14:40 ` Matthieu Moy 2010-09-20 14:52 ` Randal L. Schwartz @ 2010-09-20 15:48 ` Andrew Keller 1 sibling, 0 replies; 17+ messages in thread From: Andrew Keller @ 2010-09-20 15:48 UTC (permalink / raw) To: Git List On Sep 20, 2010, at 10:40 AM, Matthieu Moy wrote: > Kevin Ballard <kevin@sb•org> writes: >> Andrew Keller <andrew@kellerfarm•com> writes: >> >>> $ ./configure --prefix=/usr/users/students/ak4390/.local >>> $ make >>> $ make install >> >> I admit, I'm not well-versed on the build system, but my impression >> was that specifying --prefix in ./configure was indeed supposed to >> propagate to a subsequent make and make install. > > It does. I installed Git successfully without ever being root on > several machines. > > In my case, it was GNU/Linux machines, so something may go wrong > because of a non-gnu system. Did you try compiling with gmake instead > of make? Just did. There is no change in the result. A website also suggested disabling curl support, and defining INSTALL as /usr/ucb/install. No change. The install target is very insistent on installing into /usr/perl5/site_perl/5.6.1/sun4-solaris-64int. ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-19 23:50 Reduced privileges install Andrew Keller 2010-09-20 1:07 ` Randal L. Schwartz @ 2010-09-20 14:53 ` Brandon Casey 2010-09-20 16:56 ` Andrew Keller 1 sibling, 1 reply; 17+ messages in thread From: Brandon Casey @ 2010-09-20 14:53 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List On 09/19/2010 06:50 PM, Andrew Keller wrote: > Hello, all. Quick question: > > I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class. > 'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'. > > There were a few hiccups at first – things like CC not being defined, tclsh not existing, the path to python being wrong, etc, but they were all relatively easy to work around. This last error, however, not so much luck. > > Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log: > > > $ make install > > ... > > make -C templates DESTDIR='' install > make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates' > /usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates' > (cd blt && gtar cf - .) | \ > (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -) > make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates' > make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install > make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' > make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' > Warning: You do not have permissions to install into /usr/perl5/site_perl/5.6.1/sun4-solaris-64int at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 85. > Installing /usr/perl5/site_perl/5.6.1/Error.pm > Installing /usr/perl5/site_perl/5.6.1/Git.pm > mkdir /usr/perl5/site_perl/5.6.1/sun4-solaris-64int/auto: Permission denied at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 165 > make[2]: *** [pure_site_install] Error 255 > make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' > make[1]: *** [install] Error 2 > make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' > make: *** [install] Error 2 > > > So anyways, it appears that it is trying to install into a directory in which I do not have write permissions. But why? I thought that setting the prefix to a folder in my home directory would change that. Is there another parameter I'm forgetting about at the configure stage? > > Thanks, > Andrew Keller > > PS: not sure if it matters, but just in case... > path to perl: /bin/perl > version of perl: 5.6.1 By chance could INSTALL_BASE be set in your environment? $ echo $INSTALL_BASE A patch was recently made to unset that variable so that it could not influence perl's makemaker. Though the commit message indicates that makemaker complains loudly when both INSTALL_BASE and PREFIX are set, so perhaps this is not the problem. If INSTALL_BASE is set, then unset it, and try again. Alternatively, you could avoid makemaker altogether by setting NO_PERL_MAKEMAKER on the make command line and git will build its own make file: make NO_PERL_MAKEMAKER=1 install -Brandon ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 14:53 ` Brandon Casey @ 2010-09-20 16:56 ` Andrew Keller 2010-09-20 17:01 ` Ævar Arnfjörð Bjarmason 2010-09-20 19:12 ` Brandon Casey 0 siblings, 2 replies; 17+ messages in thread From: Andrew Keller @ 2010-09-20 16:56 UTC (permalink / raw) To: Git List On Sep 20, 2010, at 10:53 AM, Brandon Casey wrote: > On 09/19/2010 06:50 PM, Andrew Keller wrote: > >> Hello, all. Quick question: >> >> I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class. >> 'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'. >> >> There were a few hiccups at first – things like CC not being defined, tclsh not existing, the path to python being wrong, etc, but they were all relatively easy to work around. This last error, however, not so much luck. >> >> Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log: >> >> >> $ make install >> >> ... >> >> make -C templates DESTDIR='' install >> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates' >> /usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates' >> (cd blt && gtar cf - .) | \ >> (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -) >> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates' >> make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install >> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >> make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >> Warning: You do not have permissions to install into /usr/perl5/site_perl/5.6.1/sun4-solaris-64int at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 85. >> Installing /usr/perl5/site_perl/5.6.1/Error.pm >> Installing /usr/perl5/site_perl/5.6.1/Git.pm >> mkdir /usr/perl5/site_perl/5.6.1/sun4-solaris-64int/auto: Permission denied at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 165 >> make[2]: *** [pure_site_install] Error 255 >> make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >> make[1]: *** [install] Error 2 >> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >> make: *** [install] Error 2 >> >> >> So anyways, it appears that it is trying to install into a directory in which I do not have write permissions. But why? I thought that setting the prefix to a folder in my home directory would change that. Is there another parameter I'm forgetting about at the configure stage? >> >> Thanks, >> Andrew Keller >> >> PS: not sure if it matters, but just in case... >> path to perl: /bin/perl >> version of perl: 5.6.1 > > By chance could INSTALL_BASE be set in your environment? > > $ echo $INSTALL_BASE env says that INSTALL_BASE is not currently set. > A patch was recently made to unset that variable so that it > could not influence perl's makemaker. Though the commit message > indicates that makemaker complains loudly when both INSTALL_BASE > and PREFIX are set, so perhaps this is not the problem. > > If INSTALL_BASE is set, then unset it, and try again. > > Alternatively, you could avoid makemaker altogether by setting > NO_PERL_MAKEMAKER on the make command line and git will build > its own make file: > > make NO_PERL_MAKEMAKER=1 install Setting NO_PERL_MAKEMAKER at the build stage seems to make the install stage work. Yay! This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc): # create a location for apps in my home folder: mkdir ~/.local export PATH=$PATH:/usr/users/students/ak4390/.local/bin export MANPATH=$MANPATH:/usr/users/students/ak4390/.local/share/man # compile and install git $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh $ export CC=/usr/local/bin/gcc $ cd <path-to-git-src> $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no $ make NO_PERL_MAKEMAKER=1 all install Letting the configure figure out the threading did not seem to work. The compile and install worked, with lots of warnings from gcc about not recognizing -pthreads, but when you try to do a clone, git complained about not being able to fork off the demultiplexer. So I just turned off threading and it works. The quick-install-man target still failed, but it's not really a big deal since I can just install it myself. Thanks, ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 16:56 ` Andrew Keller @ 2010-09-20 17:01 ` Ævar Arnfjörð Bjarmason 2010-09-20 20:28 ` Andrew Keller 2010-09-20 19:12 ` Brandon Casey 1 sibling, 1 reply; 17+ messages in thread From: Ævar Arnfjörð Bjarmason @ 2010-09-20 17:01 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List On Mon, Sep 20, 2010 at 16:56, Andrew Keller <andrew@kellerfarm•com> wrote: > On Sep 20, 2010, at 10:53 AM, Brandon Casey wrote: >> On 09/19/2010 06:50 PM, Andrew Keller wrote: >> >>> Hello, all. Quick question: >>> >>> I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class. >>> 'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'. >>> >>> There were a few hiccups at first – things like CC not being defined, tclsh not existing, the path to python being wrong, etc, but they were all relatively easy to work around. This last error, however, not so much luck. >>> >>> Because I do not own the server and my account has restricted privileges, I attempted to augment my PATH to include a directory in my home folder, and then install git in there by specifying a prefix at the configure stage. The configure and the make work, but the make install fails. Here's the last section of the log: >>> >>> >>> $ make install >>> >>> ... >>> >>> make -C templates DESTDIR='' install >>> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates' >>> /usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates' >>> (cd blt && gtar cf - .) | \ >>> (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -) >>> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates' >>> make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install >>> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >>> make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >>> Warning: You do not have permissions to install into /usr/perl5/site_perl/5.6.1/sun4-solaris-64int at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 85. >>> Installing /usr/perl5/site_perl/5.6.1/Error.pm >>> Installing /usr/perl5/site_perl/5.6.1/Git.pm >>> mkdir /usr/perl5/site_perl/5.6.1/sun4-solaris-64int/auto: Permission denied at /usr/perl5/5.6.1/lib/ExtUtils/Install.pm line 165 >>> make[2]: *** [pure_site_install] Error 255 >>> make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >>> make[1]: *** [install] Error 2 >>> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl' >>> make: *** [install] Error 2 >>> >>> >>> So anyways, it appears that it is trying to install into a directory in which I do not have write permissions. But why? I thought that setting the prefix to a folder in my home directory would change that. Is there another parameter I'm forgetting about at the configure stage? >>> >>> Thanks, >>> Andrew Keller >>> >>> PS: not sure if it matters, but just in case... >>> path to perl: /bin/perl >>> version of perl: 5.6.1 >> >> By chance could INSTALL_BASE be set in your environment? >> >> $ echo $INSTALL_BASE > > env says that INSTALL_BASE is not currently set. > >> A patch was recently made to unset that variable so that it >> could not influence perl's makemaker. Though the commit message >> indicates that makemaker complains loudly when both INSTALL_BASE >> and PREFIX are set, so perhaps this is not the problem. >> >> If INSTALL_BASE is set, then unset it, and try again. >> >> Alternatively, you could avoid makemaker altogether by setting >> NO_PERL_MAKEMAKER on the make command line and git will build >> its own make file: >> >> make NO_PERL_MAKEMAKER=1 install > > Setting NO_PERL_MAKEMAKER at the build stage seems to make the install stage work. Yay! > > This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc): > > # create a location for apps in my home folder: > mkdir ~/.local > export PATH=$PATH:/usr/users/students/ak4390/.local/bin > export MANPATH=$MANPATH:/usr/users/students/ak4390/.local/share/man > > # compile and install git > $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh > $ export CC=/usr/local/bin/gcc > $ cd <path-to-git-src> > $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no > $ make NO_PERL_MAKEMAKER=1 all install > > Letting the configure figure out the threading did not seem to work. The compile and install worked, with lots of warnings from gcc about not recognizing -pthreads, but when you try to do a clone, git complained about not being able to fork off the demultiplexer. So I just turned off threading and it works. > > The quick-install-man target still failed, but it's not really a big deal since I can just install it myself. What does this return for you: perl -MExtUtils::MakeMaker -le 'print $ExtUtils::MakeMaker::VERSION' ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 17:01 ` Ævar Arnfjörð Bjarmason @ 2010-09-20 20:28 ` Andrew Keller 0 siblings, 0 replies; 17+ messages in thread From: Andrew Keller @ 2010-09-20 20:28 UTC (permalink / raw) To: Git List On Sep 20, 2010, at 1:01 PM, Ævar Arnfjörð Bjarmason wrote: > What does this return for you: > > perl -MExtUtils::MakeMaker -le 'print $ExtUtils::MakeMaker::VERSION' 5.45 ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 16:56 ` Andrew Keller 2010-09-20 17:01 ` Ævar Arnfjörð Bjarmason @ 2010-09-20 19:12 ` Brandon Casey 2010-09-20 19:18 ` Brandon Casey 2010-09-20 22:53 ` Andrew Keller 1 sibling, 2 replies; 17+ messages in thread From: Brandon Casey @ 2010-09-20 19:12 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List [We prefer if you hit 'Reply-All' when replying so that all commenters are retained on the cc list] On 09/20/2010 11:56 AM, Andrew Keller wrote: > This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc): I thought it was Solaris 9? :) > # create a location for apps in my home folder: > mkdir ~/.local > export PATH=$PATH:/usr/users/students/ak4390/.local/bin > export MANPATH=$MANPATH:/usr/users/students/ak4390/.local/share/man Setting MANPATH is only necessary if you want to be able to type 'man git-add' or something. Instead, you can use the 'help' subcommand of git, or the --help option of each command, and it will display the man page for you. $ git help add > # compile and install git > $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh You can set TCL_PATH instead of creating this symbolic link. > $ export CC=/usr/local/bin/gcc > $ cd <path-to-git-src> > $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no > $ make NO_PERL_MAKEMAKER=1 all install > > Letting the configure figure out the threading did not seem to work. > The compile and install worked, with lots of warnings from gcc about not > recognizing -pthreads, but when you try to do a clone, git complained about > not being able to fork off the demultiplexer. So I just turned off threading > and it works. Maybe the configure script is broken with respect to detecting threads on Solaris 8 (or 9)? You probably don't really need to run the configure script on your platform. I don't. Since you're using gcc to compile, the default pthread switch '-lpthread' should be appropriate. You could try deleting the config.mak.autogen file that configure creates, and just run make by itself. Based on what you've describe, it would look something like this: cd <path-to-git-src> rm config.mak.autogen cat >config.mak <<EOF CC=/usr/local/bin/gcc PREFIX=/usr/users/students/ak4390/.local PYTHON_PATH=/usr/local/bin/python TCL_PATH=/usr/local/bin/tclsh8.4 NO_PERL_MAKEMAKER=1 EOF make Then add 'install' to the make command line when you are ready. Notice, I placed all of the make settings in a file named config.mak. This file is imported by the main Makefile automatically and is intended to be used like this for user settings. If you really need to disable pthreads, then you can add NO_PTHREADS=1. Check out the comments at the top of the Makefile for a list of all variables that can be set. > The quick-install-man target still failed, Strange. You tried _after_ you installed git right? -Brandon ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 19:12 ` Brandon Casey @ 2010-09-20 19:18 ` Brandon Casey 2010-09-20 20:39 ` Andrew Keller 2010-09-20 22:53 ` Andrew Keller 1 sibling, 1 reply; 17+ messages in thread From: Brandon Casey @ 2010-09-20 19:18 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List On 09/20/2010 02:12 PM, Brandon Casey wrote: > On 09/20/2010 11:56 AM, Andrew Keller wrote: >> The quick-install-man target still failed, > > Strange. You tried _after_ you installed git right? Oh, _and_ you're building within a checkout of the git repository right? Not, within the extraction of a tar archive? i.e. git clone git://git.kernel.org/pub/scm/git/git.git cd git make not wget http://kernel.org/pub/software/scm/git/git-1.7.2.3.tar.gz tar zxf git-1.7.2.3.tar.gz cd git make -Brandon ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 19:18 ` Brandon Casey @ 2010-09-20 20:39 ` Andrew Keller 0 siblings, 0 replies; 17+ messages in thread From: Andrew Keller @ 2010-09-20 20:39 UTC (permalink / raw) To: Brandon Casey; +Cc: Git List On Sep 20, 2010, at 3:18 PM, Brandon Casey wrote: > On 09/20/2010 02:12 PM, Brandon Casey wrote: >> On 09/20/2010 11:56 AM, Andrew Keller wrote: >> >>> The quick-install-man target still failed, >> >> Strange. You tried _after_ you installed git right? > > Oh, _and_ you're building within a checkout of the git repository right? Not, within the extraction of a tar archive? Oh, yea... Forgot about that. Yea, the quick-install-man target works just fine. Thanks, ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 19:12 ` Brandon Casey 2010-09-20 19:18 ` Brandon Casey @ 2010-09-20 22:53 ` Andrew Keller 2010-09-20 23:20 ` Brandon Casey 1 sibling, 1 reply; 17+ messages in thread From: Andrew Keller @ 2010-09-20 22:53 UTC (permalink / raw) To: Brandon Casey; +Cc: Git List On Sep 20, 2010, at 3:12 PM, Brandon Casey wrote: > On 09/20/2010 11:56 AM, Andrew Keller wrote: > >> This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc): > > I thought it was Solaris 9? :) Ah, you're right; I didn't catch that. The documentation for the server says Solaris 8, but uname -a says "SunOS hpl 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2". I'd trust uname, so that makes this Solaris 9. >> # compile and install git >> $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh > > You can set TCL_PATH instead of creating this symbolic link. > >> $ export CC=/usr/local/bin/gcc >> $ cd <path-to-git-src> >> $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no >> $ make NO_PERL_MAKEMAKER=1 all install >> >> Letting the configure figure out the threading did not seem to work. >> The compile and install worked, with lots of warnings from gcc about not >> recognizing -pthreads, but when you try to do a clone, git complained about >> not being able to fork off the demultiplexer. So I just turned off threading >> and it works. > > Maybe the configure script is broken with respect to detecting threads on > Solaris 8 (or 9)? You probably don't really need to run the configure > script on your platform. I don't. Since you're using gcc to compile, the > default pthread switch '-lpthread' should be appropriate. You could try > deleting the config.mak.autogen file that configure creates, and just run > make by itself. Based on what you've describe, it would look something > like this: > > cd <path-to-git-src> > rm config.mak.autogen > cat >config.mak <<EOF > CC=/usr/local/bin/gcc > PREFIX=/usr/users/students/ak4390/.local > PYTHON_PATH=/usr/local/bin/python > TCL_PATH=/usr/local/bin/tclsh8.4 > NO_PERL_MAKEMAKER=1 > EOF > make > > Then add 'install' to the make command line when you are ready. > > Notice, I placed all of the make settings in a file named config.mak. This > file is imported by the main Makefile automatically and is intended to be > used like this for user settings. If you really need to disable pthreads, > then you can add NO_PTHREADS=1. Check out the comments at the top of the > Makefile for a list of all variables that can be set. Compiling as described above appears to go down in flames: $ make /bin/sh: curl-config: not found CC fast-import.o In file included from builtin.h:4, from fast-import.c:147: git-compat-util.h:140:25: openssl/ssl.h: No such file or directory git-compat-util.h:141:25: openssl/err.h: No such file or directory In file included from builtin.h:6, from fast-import.c:147: cache.h:9:21: openssl/sha.h: No such file or directory In file included from fast-import.c:156: csum-file.h:10: error: syntax error before "SHA_CTX" csum-file.h:10: warning: no semicolon at end of struct or union csum-file.h:15: error: 'crc32' redeclared as different kind of symbol /usr/local/include/zlib.h:1285: error: previous declaration of 'crc32' was here csum-file.h:15: error: 'crc32' redeclared as different kind of symbol /usr/local/include/zlib.h:1285: error: previous declaration of 'crc32' was here csum-file.h:17: error: syntax error before '}' token fast-import.c: In function `store_object': fast-import.c:995: error: `SHA_CTX' undeclared (first use in this function) fast-import.c:995: error: (Each undeclared identifier is reported only once fast-import.c:995: error: for each function it appears in.) fast-import.c:995: error: syntax error before "c" fast-import.c:1000: warning: implicit declaration of function `SHA1_Init' fast-import.c:1000: error: `c' undeclared (first use in this function) fast-import.c:1001: warning: implicit declaration of function `SHA1_Update' fast-import.c:1003: warning: implicit declaration of function `SHA1_Final' fast-import.c: At top level: fast-import.c:1118: error: syntax error before "SHA_CTX" fast-import.c: In function `truncate_pack': fast-import.c:1120: error: `to' undeclared (first use in this function) fast-import.c:1126: error: dereferencing pointer to incomplete type fast-import.c:1127: error: dereferencing pointer to incomplete type fast-import.c:1128: error: dereferencing pointer to incomplete type fast-import.c:1128: error: `ctx' undeclared (first use in this function) fast-import.c: In function `stream_blob': fast-import.c:1140: error: `SHA_CTX' undeclared (first use in this function) fast-import.c:1140: error: syntax error before "c" fast-import.c:1154: error: `pack_file_ctx' undeclared (first use in this function) fast-import.c:1154: error: dereferencing pointer to incomplete type fast-import.c:1160: error: `c' undeclared (first use in this function) make: *** [fast-import.o] Error 1 And, this is the same source tree that just worked a minute ago, when I used configure/make/make install. I then copied the entire source folder, with the modified config.mak file, to my laptop running Snow Leopard, modified the variables in the config.mak file to match the system, and it compiled and installed just fine. So, this server seems to have a problem with not running the configure script first. ~ Andrew Keller ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Reduced privileges install 2010-09-20 22:53 ` Andrew Keller @ 2010-09-20 23:20 ` Brandon Casey 0 siblings, 0 replies; 17+ messages in thread From: Brandon Casey @ 2010-09-20 23:20 UTC (permalink / raw) To: Andrew Keller; +Cc: Git List On 09/20/2010 05:53 PM, Andrew Keller wrote: > On Sep 20, 2010, at 3:12 PM, Brandon Casey wrote: >> You could try >> deleting the config.mak.autogen file that configure creates, and just run >> make by itself. Based on what you've describe, it would look something >> like this: >> >> cd <path-to-git-src> >> rm config.mak.autogen >> cat >config.mak <<EOF >> CC=/usr/local/bin/gcc >> PREFIX=/usr/users/students/ak4390/.local >> PYTHON_PATH=/usr/local/bin/python >> TCL_PATH=/usr/local/bin/tclsh8.4 >> NO_PERL_MAKEMAKER=1 >> EOF >> make >> >> Then add 'install' to the make command line when you are ready. >> >> Notice, I placed all of the make settings in a file named config.mak. This >> file is imported by the main Makefile automatically and is intended to be >> used like this for user settings. If you really need to disable pthreads, >> then you can add NO_PTHREADS=1. Check out the comments at the top of the >> Makefile for a list of all variables that can be set. > > Compiling as described above appears to go down in flames: > > $ make > /bin/sh: curl-config: not found At this point, the above is just a warning that curl-config is not in your path. If curl is not installed on your system, you need to set NO_CURL=1. > CC fast-import.o > In file included from builtin.h:4, > from fast-import.c:147: > git-compat-util.h:140:25: openssl/ssl.h: No such file or directory > git-compat-util.h:141:25: openssl/err.h: No such file or directory <snip other related warnings> Fixed by setting NO_OPENSSL=1. > And, this is the same source tree that just worked a minute ago, when > I used configure/make/make install. I then copied the entire source > folder, with the modified config.mak file, to my laptop running Snow Leopard, > modified the variables in the config.mak file to match the system, and it > compiled and installed just fine. So, this server seems to have a problem > with not running the configure script first. git's configure script is a little different from the configure scripts in other projects. All configure does in git is set variables that are used by the Makefile. Using its rules, it tries to figure out what the best setting is for each variable. Any of these variables can be set manually in the user's config.mak file. Apparently, additional variables need to be modified from their default to handle your system. Once you determine the set of variables that need to be set, they most likely will not need to be changed when compiling future versions of git. The above two variables (NO_CURL, NO_OPENSSL) will likely fix the errors that you reported, but I don't guarantee that more errors will not be produced and will require additional settings. All of the variables are described in the comments at the top of the Makefile. It's an iterative process. You could also use the config.mak.autogen as the baseline for you config.mak file. -Brandon ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2010-09-20 23:20 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-09-19 23:50 Reduced privileges install Andrew Keller 2010-09-20 1:07 ` Randal L. Schwartz 2010-09-20 1:31 ` Andrew Keller 2010-09-20 6:51 ` Kevin Ballard 2010-09-20 14:06 ` Andrew Keller 2010-09-20 14:40 ` Matthieu Moy 2010-09-20 14:52 ` Randal L. Schwartz 2010-09-20 15:48 ` Andrew Keller 2010-09-20 14:53 ` Brandon Casey 2010-09-20 16:56 ` Andrew Keller 2010-09-20 17:01 ` Ævar Arnfjörð Bjarmason 2010-09-20 20:28 ` Andrew Keller 2010-09-20 19:12 ` Brandon Casey 2010-09-20 19:18 ` Brandon Casey 2010-09-20 20:39 ` Andrew Keller 2010-09-20 22:53 ` Andrew Keller 2010-09-20 23:20 ` Brandon Casey
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox