{"thread":{"id":"25159","subject":"Reduced privileges install","startedAt":"2010-09-19T23:50:59Z","lastAt":"2010-09-20T23:20:05Z","messageCount":17,"participants":["Andrew Keller","Randal L. Schwartz","Kevin Ballard","Matthieu Moy","Brandon Casey","Ævar Arnfjörð Bjarmason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"151034","messageId":"325786BC-5F54-47B5-AEF5-7FDAD9BEA4BA@kellerfarm.com","threadId":"25159","inReplyTo":null,"subject":"Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-19T23:50:59Z","receivedAt":"2010-09-19T23:50:59Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"Hello, all.  Quick question:\n\nI'm trying to build and install git 1.7.2.3 from source on a server at school used for my class.\n'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'.\n\nThere 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.\n\nBecause 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:\n\n\n$ make install\n\n...\n\nmake -C templates DESTDIR='' install\nmake[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n/usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates'\n(cd blt && gtar cf - .) | \\\n        (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -)\nmake[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\nmake -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install\nmake[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\nmake[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\nWarning: 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.\nInstalling /usr/perl5/site_perl/5.6.1/Error.pm\nInstalling /usr/perl5/site_perl/5.6.1/Git.pm\nmkdir /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\nmake[2]: *** [pure_site_install] Error 255\nmake[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\nmake[1]: *** [install] Error 2\nmake[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\nmake: *** [install] Error 2\n\n\nSo 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?\n\nThanks,\nAndrew Keller\n\nPS: not sure if it matters, but just in case...\npath to perl: /bin/perl\nversion of perl: 5.6.1\n"},{"id":"151036","messageId":"86k4mhfcj1.fsf@red.stonehenge.com","threadId":"25159","inReplyTo":"325786BC-5F54-47B5-AEF5-7FDAD9BEA4BA@kellerfarm.com","subject":"Re: Reduced privileges install","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2010-09-20T01:07:30Z","receivedAt":"2010-09-20T01:07:30Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Andrew\" == Andrew Keller <andrew@kellerfarm.com> writes:\n\nAndrew> Because I do not own the server and my account has restricted\nAndrew> privileges, I attempted to augment my PATH to include a\nAndrew> directory in my home folder, and then install git in there by\nAndrew> specifying a prefix at the configure stage.  The configure and\nAndrew> the make work, but the make install fails.  Here's the last\nAndrew> section of the log:\n\nWhat's your PREFIX set to?  If you set your prefix, the Perl modules are\ninstalled below the prefix, not in the system dirs.\n\nAndrew> $ make install\n\nYeah, I don't see a prefix here, unless you set it in your Makefile.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nSmalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.\nSee http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion\n"},{"id":"151038","messageId":"6BE502C9-5507-452D-A5D5-D0C69C05F126@kellerfarm.com","threadId":"25159","inReplyTo":"86k4mhfcj1.fsf@red.stonehenge.com","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T01:31:53Z","receivedAt":"2010-09-20T01:31:53Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 19, 2010, at 9:07 PM, Randal L. Schwartz wrote:\n> \"Andrew\" == Andrew Keller <andrew@kellerfarm.com> writes:\n> \n>> 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:\n> \n> What's your PREFIX set to?  If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs.\n\n\nHere's what I executed:\n\n$ ./configure --prefix=/usr/users/students/ak4390/.local\n$ make\n$ make install\n\nI also tried providing the --oldincludedir and --datadir parameters, but I got the same result.\n\n~ Andrew Keller\n"},{"id":"151046","messageId":"677DFF75-2DBB-4772-802B-4402E4024307@sb.org","threadId":"25159","inReplyTo":"6BE502C9-5507-452D-A5D5-D0C69C05F126@kellerfarm.com","subject":"Re: Reduced privileges install","fromName":"Kevin Ballard","fromEmail":"kevin@sb.org","sentAt":"2010-09-20T06:51:54Z","receivedAt":"2010-09-20T06:51:54Z","isPatch":false,"sender":{"key":"kevin@sb.org","avatar":"https://avatars.githubusercontent.com/u/714?v=4"},"body":"On Sep 19, 2010, at 6:31 PM, Andrew Keller wrote:\n\n> On Sep 19, 2010, at 9:07 PM, Randal L. Schwartz wrote:\n>> \"Andrew\" == Andrew Keller <andrew@kellerfarm.com> writes:\n>> \n>>> 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:\n>> \n>> What's your PREFIX set to?  If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs.\n> \n> \n> Here's what I executed:\n> \n> $ ./configure --prefix=/usr/users/students/ak4390/.local\n> $ make\n> $ make install\n> \n> I also tried providing the --oldincludedir and --datadir parameters, but I got the same result.\n\nI 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:\n\n$ make PREFIX=/usr/users/students/ak4390/.local\n$ make install PREFIX=/usr/users/students/ak4390/.local\n\n-Kevin Ballard"},{"id":"151119","messageId":"33FB1E5A-D469-4B00-B4EB-03572C7F934A@kellerfarm.com","threadId":"25159","inReplyTo":"677DFF75-2DBB-4772-802B-4402E4024307@sb.org","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T14:06:33Z","receivedAt":"2010-09-20T14:06:33Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 20, 2010, at 2:51 AM, Kevin Ballard wrote:\n> On Sep 19, 2010, at 6:31 PM, Andrew Keller wrote:\n>> On Sep 19, 2010, at 9:07 PM, Randal L. Schwartz wrote:\n>>> \"Andrew\" == Andrew Keller <andrew@kellerfarm.com> writes:\n>>> \n>>>> 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:\n>>> \n>>> What's your PREFIX set to?  If you set your prefix, the Perl modules are installed below the prefix, not in the system dirs.\n>> \n>> Here's what I executed:\n>> \n>> $ ./configure --prefix=/usr/users/students/ak4390/.local\n>> $ make\n>> $ make install\n>> \n>> I also tried providing the --oldincludedir and --datadir parameters, but I got the same result.\n> \n> 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:\n> \n> $ make PREFIX=/usr/users/students/ak4390/.local\n> $ make install PREFIX=/usr/users/students/ak4390/.local\n\nThe same error occurs when providing the prefix to the build and install segments.\n\n~ Andrew Keller\n"},{"id":"151120","messageId":"vpqzkvcwka0.fsf@bauges.imag.fr","threadId":"25159","inReplyTo":"677DFF75-2DBB-4772-802B-4402E4024307@sb.org","subject":"Re: Reduced privileges install","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-09-20T14:40:23Z","receivedAt":"2010-09-20T14:40:23Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Andrew Keller <andrew@kellerfarm.com> writes:\n\n> make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install\n> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n> make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n> 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.\n\nThe DESTDIR='' is suspicious. It seems the prefix is not passed\nproperly in recursive \"make\" invocations, and perl tries to install\nthings in the default directory.\n\nKevin Ballard <kevin@sb.org> writes:\n\n> Andrew Keller <andrew@kellerfarm.com> writes:\n>> $ ./configure --prefix=/usr/users/students/ak4390/.local\n>> $ make\n>> $ make install\n>\n> I admit, I'm not well-versed on the build system, but my impression\n> was that specifying --prefix in ./configure was indeed supposed to\n> propagate to a subsequent make and make install.\n\nIt does. I installed Git successfully without ever being root on\nseveral machines.\n\nIn my case, it was GNU/Linux machines, so something may go wrong\nbecause of a non-gnu system. Did you try compiling with gmake instead\nof make?\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"151121","messageId":"8639t4fowk.fsf@red.stonehenge.com","threadId":"25159","inReplyTo":"vpqzkvcwka0.fsf@bauges.imag.fr","subject":"Re: Reduced privileges install","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2010-09-20T14:52:27Z","receivedAt":"2010-09-20T14:52:27Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Matthieu\" == Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:\n\nMatthieu> In my case, it was GNU/Linux machines, so something may go wrong\nMatthieu> because of a non-gnu system. Did you try compiling with gmake instead\nMatthieu> of make?\n\nWorks fine for me on OSX.  Here's my build script:\n\nget.git:\n\n    cd ~/MIRROR/git-GIT && git fetch && git diff --stat live origin/master\n\nmake.git:\n\n    cd ~/MIRROR/git-GIT &&\n    git reset --hard origin/master &&\n    make prefix=/opt/git all install quick-install-man &&\n    git tag -f live HEAD\n\nAnd everything (including the Perl bits) ends up under /opt/git.\n\nI don't even run configure.  Not sure why I would. :)\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nSmalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.\nSee http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion\n"},{"id":"151122","messageId":"BvHZDf7-epsPOl8y5QrLcsmYgobmFUo7HwZanlekCciU8I-jiKPVRw@cipher.nrlssc.navy.mil","threadId":"25159","inReplyTo":"325786BC-5F54-47B5-AEF5-7FDAD9BEA4BA@kellerfarm.com","subject":"Re: Reduced privileges install","fromName":"Brandon Casey","fromEmail":"brandon.casey.ctr@nrlssc.navy.mil","sentAt":"2010-09-20T14:53:27Z","receivedAt":"2010-09-20T14:53:27Z","isPatch":false,"sender":{"key":"brandon.casey.ctr@nrlssc.navy.mil","avatar":null},"body":"On 09/19/2010 06:50 PM, Andrew Keller wrote:\n> Hello, all.  Quick question:\n> \n> I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class.\n> 'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'.\n> \n> 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.\n> \n> 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:\n> \n> \n> $ make install\n> \n> ...\n> \n> make -C templates DESTDIR='' install\n> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n> /usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates'\n> (cd blt && gtar cf - .) | \\\n>         (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -)\n> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n> make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install\n> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n> make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n> 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.\n> Installing /usr/perl5/site_perl/5.6.1/Error.pm\n> Installing /usr/perl5/site_perl/5.6.1/Git.pm\n> 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\n> make[2]: *** [pure_site_install] Error 255\n> make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n> make[1]: *** [install] Error 2\n> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n> make: *** [install] Error 2\n> \n> \n> 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?\n> \n> Thanks,\n> Andrew Keller\n> \n> PS: not sure if it matters, but just in case...\n> path to perl: /bin/perl\n> version of perl: 5.6.1\n\nBy chance could INSTALL_BASE be set in your environment?\n\n   $ echo $INSTALL_BASE\n\nA patch was recently made to unset that variable so that it\ncould not influence perl's makemaker.  Though the commit message\nindicates that makemaker complains loudly when both INSTALL_BASE\nand PREFIX are set, so perhaps this is not the problem.\n\nIf INSTALL_BASE is set, then unset it, and try again.\n\nAlternatively, you could avoid makemaker altogether by setting\nNO_PERL_MAKEMAKER on the make command line and git will build\nits own make file:\n\n   make NO_PERL_MAKEMAKER=1 install\n\n-Brandon\n"},{"id":"151124","messageId":"FEEB35B3-20DA-4446-90D3-B6725354DF08@kellerfarm.com","threadId":"25159","inReplyTo":"vpqzkvcwka0.fsf@bauges.imag.fr","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T15:48:47Z","receivedAt":"2010-09-20T15:48:47Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 20, 2010, at 10:40 AM, Matthieu Moy wrote:\n> Kevin Ballard <kevin@sb.org> writes:\n>> Andrew Keller <andrew@kellerfarm.com> writes:\n>> \n>>> $ ./configure --prefix=/usr/users/students/ak4390/.local\n>>> $ make\n>>> $ make install\n>> \n>> I admit, I'm not well-versed on the build system, but my impression\n>> was that specifying --prefix in ./configure was indeed supposed to\n>> propagate to a subsequent make and make install.\n> \n> It does. I installed Git successfully without ever being root on\n> several machines.\n> \n> In my case, it was GNU/Linux machines, so something may go wrong\n> because of a non-gnu system. Did you try compiling with gmake instead\n> of make?\n\nJust 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.\n\n~ Andrew Keller\n"},{"id":"151132","messageId":"23ECDEF1-BDEC-45CC-B0CC-7E1A7BFE00BB@kellerfarm.com","threadId":"25159","inReplyTo":"BvHZDf7-epsPOl8y5QrLcsmYgobmFUo7HwZanlekCciU8I-jiKPVRw@cipher.nrlssc.navy.mil","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T16:56:10Z","receivedAt":"2010-09-20T16:56:10Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 20, 2010, at 10:53 AM, Brandon Casey wrote:\n> On 09/19/2010 06:50 PM, Andrew Keller wrote:\n> \n>> Hello, all.  Quick question:\n>> \n>> I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class.\n>> 'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'.\n>> \n>> 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.\n>> \n>> 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:\n>> \n>> \n>> $ make install\n>> \n>> ...\n>> \n>> make -C templates DESTDIR='' install\n>> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n>> /usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates'\n>> (cd blt && gtar cf - .) | \\\n>>        (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -)\n>> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n>> make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install\n>> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>> make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>> 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.\n>> Installing /usr/perl5/site_perl/5.6.1/Error.pm\n>> Installing /usr/perl5/site_perl/5.6.1/Git.pm\n>> 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\n>> make[2]: *** [pure_site_install] Error 255\n>> make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>> make[1]: *** [install] Error 2\n>> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>> make: *** [install] Error 2\n>> \n>> \n>> 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?\n>> \n>> Thanks,\n>> Andrew Keller\n>> \n>> PS: not sure if it matters, but just in case...\n>> path to perl: /bin/perl\n>> version of perl: 5.6.1\n> \n> By chance could INSTALL_BASE be set in your environment?\n> \n>   $ echo $INSTALL_BASE\n\nenv says that INSTALL_BASE is not currently set.\n\n> A patch was recently made to unset that variable so that it\n> could not influence perl's makemaker.  Though the commit message\n> indicates that makemaker complains loudly when both INSTALL_BASE\n> and PREFIX are set, so perhaps this is not the problem.\n> \n> If INSTALL_BASE is set, then unset it, and try again.\n> \n> Alternatively, you could avoid makemaker altogether by setting\n> NO_PERL_MAKEMAKER on the make command line and git will build\n> its own make file:\n> \n>   make NO_PERL_MAKEMAKER=1 install\n\nSetting NO_PERL_MAKEMAKER at the build stage seems to make the install stage work.  Yay!\n\nThis is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc):\n\n# create a location for apps in my home folder:\nmkdir ~/.local\nexport PATH=$PATH:/usr/users/students/ak4390/.local/bin\nexport MANPATH=$MANPATH:/usr/users/students/ak4390/.local/share/man\n\n# compile and install git\n$ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh\n$ export CC=/usr/local/bin/gcc\n$ cd <path-to-git-src>\n$ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no\n$ make NO_PERL_MAKEMAKER=1 all install\n\nLetting 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.\n\nThe quick-install-man target still failed, but it's not really a big deal since I can just install it myself.\n\nThanks,\n~ Andrew Keller\n"},{"id":"151133","messageId":"AANLkTimbTUp4r8HPiYv2HxD-pLrrxW1qHiNhBHiknvkB@mail.gmail.com","threadId":"25159","inReplyTo":"23ECDEF1-BDEC-45CC-B0CC-7E1A7BFE00BB@kellerfarm.com","subject":"Re: Reduced privileges install","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-09-20T17:01:28Z","receivedAt":"2010-09-20T17:01:28Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Mon, Sep 20, 2010 at 16:56, Andrew Keller <andrew@kellerfarm.com> wrote:\n> On Sep 20, 2010, at 10:53 AM, Brandon Casey wrote:\n>> On 09/19/2010 06:50 PM, Andrew Keller wrote:\n>>\n>>> Hello, all.  Quick question:\n>>>\n>>> I'm trying to build and install git 1.7.2.3 from source on a server at school used for my class.\n>>> 'uname -a' is 'SunOS bloch 5.9 Generic_122300-54 sun4u sparc SUNW,UltraAX-i2'.\n>>>\n>>> 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.\n>>>\n>>> 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:\n>>>\n>>>\n>>> $ make install\n>>>\n>>> ...\n>>>\n>>> make -C templates DESTDIR='' install\n>>> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n>>> /usr/ucb/install -d -m 755 '/usr/users/students/ak4390/.local/share/git-core/templates'\n>>> (cd blt && gtar cf - .) | \\\n>>>        (cd '/usr/users/students/ak4390/.local/share/git-core/templates' && umask 022 && gtar xof -)\n>>> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/templates'\n>>> make -C perl prefix='/usr/users/students/ak4390/.local' DESTDIR='' install\n>>> make[1]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>>> make[2]: Entering directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>>> 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.\n>>> Installing /usr/perl5/site_perl/5.6.1/Error.pm\n>>> Installing /usr/perl5/site_perl/5.6.1/Git.pm\n>>> 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\n>>> make[2]: *** [pure_site_install] Error 255\n>>> make[2]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>>> make[1]: *** [install] Error 2\n>>> make[1]: Leaving directory `/usr/users/students/ak4390/Downloads/git-1.7.2.3/perl'\n>>> make: *** [install] Error 2\n>>>\n>>>\n>>> 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?\n>>>\n>>> Thanks,\n>>> Andrew Keller\n>>>\n>>> PS: not sure if it matters, but just in case...\n>>> path to perl: /bin/perl\n>>> version of perl: 5.6.1\n>>\n>> By chance could INSTALL_BASE be set in your environment?\n>>\n>>   $ echo $INSTALL_BASE\n>\n> env says that INSTALL_BASE is not currently set.\n>\n>> A patch was recently made to unset that variable so that it\n>> could not influence perl's makemaker.  Though the commit message\n>> indicates that makemaker complains loudly when both INSTALL_BASE\n>> and PREFIX are set, so perhaps this is not the problem.\n>>\n>> If INSTALL_BASE is set, then unset it, and try again.\n>>\n>> Alternatively, you could avoid makemaker altogether by setting\n>> NO_PERL_MAKEMAKER on the make command line and git will build\n>> its own make file:\n>>\n>>   make NO_PERL_MAKEMAKER=1 install\n>\n> Setting NO_PERL_MAKEMAKER at the build stage seems to make the install stage work.  Yay!\n>\n> This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc):\n>\n> # create a location for apps in my home folder:\n> mkdir ~/.local\n> export PATH=$PATH:/usr/users/students/ak4390/.local/bin\n> export MANPATH=$MANPATH:/usr/users/students/ak4390/.local/share/man\n>\n> # compile and install git\n> $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh\n> $ export CC=/usr/local/bin/gcc\n> $ cd <path-to-git-src>\n> $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no\n> $ make NO_PERL_MAKEMAKER=1 all install\n>\n> 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.\n>\n> The quick-install-man target still failed, but it's not really a big deal since I can just install it myself.\n\nWhat does this return for you:\n\n    perl -MExtUtils::MakeMaker -le 'print $ExtUtils::MakeMaker::VERSION'\n"},{"id":"151142","messageId":"CWxE18Hq1ro8utv-_dFm1ZaVIKpCDTv-TbEB4u_l84GvbeJh1vKing@cipher.nrlssc.navy.mil","threadId":"25159","inReplyTo":"23ECDEF1-BDEC-45CC-B0CC-7E1A7BFE00BB@kellerfarm.com","subject":"Re: Reduced privileges install","fromName":"Brandon Casey","fromEmail":"brandon.casey.ctr@nrlssc.navy.mil","sentAt":"2010-09-20T19:12:27Z","receivedAt":"2010-09-20T19:12:27Z","isPatch":false,"sender":{"key":"brandon.casey.ctr@nrlssc.navy.mil","avatar":null},"body":"\n[We prefer if you hit 'Reply-All' when replying so that all\n commenters are retained on the cc list]\n\nOn 09/20/2010 11:56 AM, Andrew Keller wrote:\n\n> This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc):\n\nI thought it was Solaris 9? :)\n\n> # create a location for apps in my home folder:\n> mkdir ~/.local\n> export PATH=$PATH:/usr/users/students/ak4390/.local/bin\n> export MANPATH=$MANPATH:/usr/users/students/ak4390/.local/share/man\n\nSetting MANPATH is only necessary if you want to be able to type\n'man git-add' or something.  Instead, you can use the 'help' subcommand\nof git, or the --help option of each command, and it will display\nthe man page for you.\n\n   $ git help add\n\n> # compile and install git\n> $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh\n\nYou can set TCL_PATH instead of creating this symbolic link.\n\n> $ export CC=/usr/local/bin/gcc\n> $ cd <path-to-git-src>\n> $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no\n> $ make NO_PERL_MAKEMAKER=1 all install\n> \n> Letting the configure figure out the threading did not seem to work.\n> The compile and install worked, with lots of warnings from gcc about not\n> recognizing -pthreads, but when you try to do a clone, git complained about\n> not being able to fork off the demultiplexer.  So I just turned off threading\n> and it works.\n\nMaybe the configure script is broken with respect to detecting threads on\nSolaris 8 (or 9)?  You probably don't really need to run the configure\nscript on your platform.  I don't.  Since you're using gcc to compile, the\ndefault pthread switch '-lpthread' should be appropriate.  You could try\ndeleting the config.mak.autogen file that configure creates, and just run\nmake by itself.  Based on what you've describe, it would look something\nlike this:\n\n   cd <path-to-git-src>\n   rm config.mak.autogen\n   cat >config.mak <<EOF\nCC=/usr/local/bin/gcc\nPREFIX=/usr/users/students/ak4390/.local\nPYTHON_PATH=/usr/local/bin/python\nTCL_PATH=/usr/local/bin/tclsh8.4\nNO_PERL_MAKEMAKER=1\nEOF\n   make\n\nThen add 'install' to the make command line when you are ready.\n\nNotice, I placed all of the make settings in a file named config.mak.  This\nfile is imported by the main Makefile automatically and is intended to be\nused like this for user settings.  If you really need to disable pthreads,\nthen you can add NO_PTHREADS=1.  Check out the comments at the top of the\nMakefile for a list of all variables that can be set.\n\n> The quick-install-man target still failed,\n\nStrange.  You tried _after_ you installed git right?\n\n-Brandon\n"},{"id":"151145","messageId":"Dts0bHMc9kE-cOU9Qd837Yx7BmckeN1wFi8J63y34-aZ-rCqt4SE3A@cipher.nrlssc.navy.mil","threadId":"25159","inReplyTo":"CWxE18Hq1ro8utv-_dFm1ZaVIKpCDTv-TbEB4u_l84GvbeJh1vKing@cipher.nrlssc.navy.mil","subject":"Re: Reduced privileges install","fromName":"Brandon Casey","fromEmail":"brandon.casey.ctr@nrlssc.navy.mil","sentAt":"2010-09-20T19:18:14Z","receivedAt":"2010-09-20T19:18:14Z","isPatch":false,"sender":{"key":"brandon.casey.ctr@nrlssc.navy.mil","avatar":null},"body":"On 09/20/2010 02:12 PM, Brandon Casey wrote:\n> On 09/20/2010 11:56 AM, Andrew Keller wrote:\n\n>> The quick-install-man target still failed,\n> \n> Strange.  You tried _after_ you installed git right?\n\nOh, _and_ you're building within a checkout of the git\nrepository right?  Not, within the extraction of a tar archive?\n\ni.e.\n\n   git clone git://git.kernel.org/pub/scm/git/git.git\n   cd git\n   make\n\nnot\n\n   wget http://kernel.org/pub/software/scm/git/git-1.7.2.3.tar.gz\n   tar zxf git-1.7.2.3.tar.gz\n   cd git\n   make\n\n-Brandon\n"},{"id":"151152","messageId":"3C02A99F-53DC-4B8A-8481-7A018FD7B397@kellerfarm.com","threadId":"25159","inReplyTo":"AANLkTimbTUp4r8HPiYv2HxD-pLrrxW1qHiNhBHiknvkB@mail.gmail.com","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T20:28:46Z","receivedAt":"2010-09-20T20:28:46Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 20, 2010, at 1:01 PM, Ævar Arnfjörð Bjarmason wrote:\n\n> What does this return for you:\n> \n>    perl -MExtUtils::MakeMaker -le 'print $ExtUtils::MakeMaker::VERSION'\n\n5.45\n\n~ Andrew Keller\n"},{"id":"151159","messageId":"3FAE66E7-26EA-4D9F-9337-46AEB5680CBB@kellerfarm.com","threadId":"25159","inReplyTo":"Dts0bHMc9kE-cOU9Qd837Yx7BmckeN1wFi8J63y34-aZ-rCqt4SE3A@cipher.nrlssc.navy.mil","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T20:39:34Z","receivedAt":"2010-09-20T20:39:34Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 20, 2010, at 3:18 PM, Brandon Casey wrote:\n> On 09/20/2010 02:12 PM, Brandon Casey wrote:\n>> On 09/20/2010 11:56 AM, Andrew Keller wrote:\n>> \n>>> The quick-install-man target still failed,\n>> \n>> Strange.  You tried _after_ you installed git right?\n> \n> Oh, _and_ you're building within a checkout of the git repository right?  Not, within the extraction of a tar archive?\n\nOh, yea...  Forgot about that.  Yea, the quick-install-man target works just fine.\n\nThanks,\n~ Andrew Keller\n"},{"id":"151167","messageId":"5FA82BA4-AE76-44F5-9635-36E199E97B00@kellerfarm.com","threadId":"25159","inReplyTo":"CWxE18Hq1ro8utv-_dFm1ZaVIKpCDTv-TbEB4u_l84GvbeJh1vKing@cipher.nrlssc.navy.mil","subject":"Re: Reduced privileges install","fromName":"Andrew Keller","fromEmail":"andrew@kellerfarm.com","sentAt":"2010-09-20T22:53:38Z","receivedAt":"2010-09-20T22:53:38Z","isPatch":false,"sender":{"key":"andrew@kellerfarm.com","avatar":"https://avatars.githubusercontent.com/u/304204?v=4"},"body":"On Sep 20, 2010, at 3:12 PM, Brandon Casey wrote:\n> On 09/20/2010 11:56 AM, Andrew Keller wrote:\n> \n>> This is what it took to compile Git on this server without root privileges (Solaris 8 / Sparc):\n> \n> I thought it was Solaris 9? :)\n\nAh, 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.\n\n>> # compile and install git\n>> $ ln -s /usr/local/bin/tclsh8.4 /usr/users/students/ak4390/.local/bin/tclsh\n> \n> You can set TCL_PATH instead of creating this symbolic link.\n> \n>> $ export CC=/usr/local/bin/gcc\n>> $ cd <path-to-git-src>\n>> $ ./configure --prefix=/usr/users/students/ak4390/.local --with-python=/usr/local/bin/python --enable-pthreads=no\n>> $ make NO_PERL_MAKEMAKER=1 all install\n>> \n>> Letting the configure figure out the threading did not seem to work.\n>> The compile and install worked, with lots of warnings from gcc about not\n>> recognizing -pthreads, but when you try to do a clone, git complained about\n>> not being able to fork off the demultiplexer.  So I just turned off threading\n>> and it works.\n> \n> Maybe the configure script is broken with respect to detecting threads on\n> Solaris 8 (or 9)?  You probably don't really need to run the configure\n> script on your platform.  I don't.  Since you're using gcc to compile, the\n> default pthread switch '-lpthread' should be appropriate.  You could try\n> deleting the config.mak.autogen file that configure creates, and just run\n> make by itself.  Based on what you've describe, it would look something\n> like this:\n> \n>   cd <path-to-git-src>\n>   rm config.mak.autogen\n>   cat >config.mak <<EOF\n> CC=/usr/local/bin/gcc\n> PREFIX=/usr/users/students/ak4390/.local\n> PYTHON_PATH=/usr/local/bin/python\n> TCL_PATH=/usr/local/bin/tclsh8.4\n> NO_PERL_MAKEMAKER=1\n> EOF\n>   make\n> \n> Then add 'install' to the make command line when you are ready.\n> \n> Notice, I placed all of the make settings in a file named config.mak.  This\n> file is imported by the main Makefile automatically and is intended to be\n> used like this for user settings.  If you really need to disable pthreads,\n> then you can add NO_PTHREADS=1.  Check out the comments at the top of the\n> Makefile for a list of all variables that can be set.\n\nCompiling as described above appears to go down in flames:\n\n$ make\n/bin/sh: curl-config: not found\n    CC fast-import.o\nIn file included from builtin.h:4,\n                 from fast-import.c:147:\ngit-compat-util.h:140:25: openssl/ssl.h: No such file or directory\ngit-compat-util.h:141:25: openssl/err.h: No such file or directory\nIn file included from builtin.h:6,\n                 from fast-import.c:147:\ncache.h:9:21: openssl/sha.h: No such file or directory\nIn file included from fast-import.c:156:\ncsum-file.h:10: error: syntax error before \"SHA_CTX\"\ncsum-file.h:10: warning: no semicolon at end of struct or union\ncsum-file.h:15: error: 'crc32' redeclared as different kind of symbol\n/usr/local/include/zlib.h:1285: error: previous declaration of 'crc32' was here\ncsum-file.h:15: error: 'crc32' redeclared as different kind of symbol\n/usr/local/include/zlib.h:1285: error: previous declaration of 'crc32' was here\ncsum-file.h:17: error: syntax error before '}' token\nfast-import.c: In function `store_object':\nfast-import.c:995: error: `SHA_CTX' undeclared (first use in this function)\nfast-import.c:995: error: (Each undeclared identifier is reported only once\nfast-import.c:995: error: for each function it appears in.)\nfast-import.c:995: error: syntax error before \"c\"\nfast-import.c:1000: warning: implicit declaration of function `SHA1_Init'\nfast-import.c:1000: error: `c' undeclared (first use in this function)\nfast-import.c:1001: warning: implicit declaration of function `SHA1_Update'\nfast-import.c:1003: warning: implicit declaration of function `SHA1_Final'\nfast-import.c: At top level:\nfast-import.c:1118: error: syntax error before \"SHA_CTX\"\nfast-import.c: In function `truncate_pack':\nfast-import.c:1120: error: `to' undeclared (first use in this function)\nfast-import.c:1126: error: dereferencing pointer to incomplete type\nfast-import.c:1127: error: dereferencing pointer to incomplete type\nfast-import.c:1128: error: dereferencing pointer to incomplete type\nfast-import.c:1128: error: `ctx' undeclared (first use in this function)\nfast-import.c: In function `stream_blob':\nfast-import.c:1140: error: `SHA_CTX' undeclared (first use in this function)\nfast-import.c:1140: error: syntax error before \"c\"\nfast-import.c:1154: error: `pack_file_ctx' undeclared (first use in this function)\nfast-import.c:1154: error: dereferencing pointer to incomplete type\nfast-import.c:1160: error: `c' undeclared (first use in this function)\nmake: *** [fast-import.o] Error 1\n\nAnd, 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.\n\n~ Andrew Keller\n"},{"id":"151172","messageId":"4F4U1inRKcW4HHV1z2hCXRdyS9lEqRBQYwV2RNDETBIkkT7YIO_qHQ@cipher.nrlssc.navy.mil","threadId":"25159","inReplyTo":"5FA82BA4-AE76-44F5-9635-36E199E97B00@kellerfarm.com","subject":"Re: Reduced privileges install","fromName":"Brandon Casey","fromEmail":"brandon.casey.ctr@nrlssc.navy.mil","sentAt":"2010-09-20T23:20:05Z","receivedAt":"2010-09-20T23:20:05Z","isPatch":false,"sender":{"key":"brandon.casey.ctr@nrlssc.navy.mil","avatar":null},"body":"On 09/20/2010 05:53 PM, Andrew Keller wrote:\n> On Sep 20, 2010, at 3:12 PM, Brandon Casey wrote:\n>>  You could try\n>> deleting the config.mak.autogen file that configure creates, and just run\n>> make by itself.  Based on what you've describe, it would look something\n>> like this:\n>>\n>>   cd <path-to-git-src>\n>>   rm config.mak.autogen\n>>   cat >config.mak <<EOF\n>> CC=/usr/local/bin/gcc\n>> PREFIX=/usr/users/students/ak4390/.local\n>> PYTHON_PATH=/usr/local/bin/python\n>> TCL_PATH=/usr/local/bin/tclsh8.4\n>> NO_PERL_MAKEMAKER=1\n>> EOF\n>>   make\n>>\n>> Then add 'install' to the make command line when you are ready.\n>>\n>> Notice, I placed all of the make settings in a file named config.mak.  This\n>> file is imported by the main Makefile automatically and is intended to be\n>> used like this for user settings.  If you really need to disable pthreads,\n>> then you can add NO_PTHREADS=1.  Check out the comments at the top of the\n>> Makefile for a list of all variables that can be set.\n> \n> Compiling as described above appears to go down in flames:\n> \n> $ make\n> /bin/sh: curl-config: not found\n\nAt this point, the above is just a warning that curl-config is not\nin your path.  If curl is not installed on your system, you need\nto set NO_CURL=1.\n\n>     CC fast-import.o\n> In file included from builtin.h:4,\n>                  from fast-import.c:147:\n> git-compat-util.h:140:25: openssl/ssl.h: No such file or directory\n> git-compat-util.h:141:25: openssl/err.h: No such file or directory\n<snip other related warnings>\n\nFixed by setting NO_OPENSSL=1.\n\n> And, this is the same source tree that just worked a minute ago, when\n> I used configure/make/make install.  I then copied the entire source\n> folder, with the modified config.mak file, to my laptop running Snow Leopard,\n> modified the variables in the config.mak file to match the system, and it\n> compiled and installed just fine.  So, this server seems to have a problem\n> with not running the configure script first.\n\ngit's configure script is a little different from the configure\nscripts in other projects.  All configure does in git is set variables\nthat are used by the Makefile.  Using its rules, it tries to figure out\nwhat the best setting is for each variable.  Any of these variables can\nbe set manually in the user's config.mak file.  Apparently, additional\nvariables need to be modified from their default to handle your system.\nOnce you determine the set of variables that need to be set, they most\nlikely will not need to be changed when compiling future versions of\ngit.\n\nThe above two variables (NO_CURL, NO_OPENSSL) will likely fix the errors\nthat you reported, but I don't guarantee that more errors will not be\nproduced and will require additional settings.  All of the variables\nare described in the comments at the top of the Makefile.  It's an\niterative process.  You could also use the config.mak.autogen as the\nbaseline for you config.mak file.\n\n-Brandon\n"}]}