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, 23:20 UTC
Message-ID
<4F4U1inRKcW4HHV1z2hCXRdyS9lEqRBQYwV2RNDETBIkkT7YIO_qHQ@cipher.nrlssc.navy.mil>
In-Reply-To
<5FA82BA4-AE76-44F5-9635-36E199E97B00@kellerfarm.com>
On 09/20/2010 05:53 PM, Andrew Keller wrote:
Show 29 quoted lines
> 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.

Show 5 quoted lines
>     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.
Show 6 quoted lines
> 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
Previous: Andrew Keller
Message 17 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.