git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Reduced privileges install

From
BCBrandon Casey <brandon.casey.ctr@nrlssc.navy.mil>
Date
Sep 20, 2010, 19:12 UTC
Message-ID
<CWxE18Hq1ro8utv-_dFm1ZaVIKpCDTv-TbEB4u_l84GvbeJh1vKing@cipher.nrlssc.navy.mil>
In-Reply-To
<23ECDEF1-BDEC-45CC-B0CC-7E1A7BFE00BB@kellerfarm.com>
[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.
Show 10 quoted lines
> $ 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
Previous: Andrew KellerNext: Brandon Casey
Message 13 of 17 in “Reduced privileges install”
  1. Andrew KellerSep 19, 2010
  2. Randal L. SchwartzSep 20, 2010
  3. Andrew KellerSep 20, 2010
  4. Kevin BallardSep 20, 2010
  5. Andrew KellerSep 20, 2010
  6. Matthieu MoySep 20, 2010
  7. Randal L. SchwartzSep 20, 2010
  8. Andrew KellerSep 20, 2010
  9. Brandon CaseySep 20, 2010
  10. Andrew KellerSep 20, 2010
  11. Ævar Arnfjörð BjarmasonSep 20, 2010
  12. Andrew KellerSep 20, 2010
  13. Brandon CaseySep 20, 2010
  14. Brandon CaseySep 20, 2010
  15. Andrew KellerSep 20, 2010
  16. Andrew KellerSep 20, 2010
  17. Brandon CaseySep 20, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.