bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: first draft of "relocatable" module


From: Ben Pfaff
Subject: Re: first draft of "relocatable" module
Date: Mon, 05 Mar 2007 11:57:11 -0800
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

 Ben Pfaff <address@hidden> writes:
> I tend to just use --prefix=$HOME/inst$$.

and then later:
> Here's some suggested wording then:

Daniel Jacobowitz <address@hidden> writes:
> I strongly recommend you use /nonexistent instead of $HOME.  If $HOME
> is behind an NFS automounter, and your program searches for anything
> in its $prefix, then this can slow things to a crawl.

Good point.  Here's some better wording taking that into account:

*** relocatable.texi.~1.3.~     2007-03-03 12:23:49.000000000 -0800
--- relocatable.texi    2007-03-05 11:54:53.000000000 -0800
***************
*** 22,35 ****
  
  To configure a program to be relocatable, add
  @option{--enable-relocatable} to the @program{configure} command line.
! For reliability, it is best to also give a @option{--prefix} option
! pointing to an otherwise unused (and never used again) directory,
! e.g.@: @option{--prefix=/tmp/inst$$}.  This is recommended because on
! some OSes the executables remember the location of shared libraries
  and prefer them over any other search path.  Therefore, such an
  executable will look for its shared libraries first in the original
  installation directory and only then in the current installation
! directory.
  
  Installation with @option{--enable-relocatable} will not work for
  setuid or setgid executables, because such executables search only
--- 22,54 ----
  
  To configure a program to be relocatable, add
  @option{--enable-relocatable} to the @program{configure} command line.
! 
! On some OSes the executables remember the location of shared libraries
  and prefer them over any other search path.  Therefore, such an
  executable will look for its shared libraries first in the original
  installation directory and only then in the current installation
! directory.  Thus, for reliability, it is best to also give a
! @option{--prefix} option pointing to a directory that does not exist
! now and which never will be created, e.g.@:
! @option{--prefix=/nonexistent}.  You may use
! @address@hidden on the @program{make} command line to
! avoid installing into that directory.
! 
! We do not recommend using a prefix writable by unprivileged users
! (e.g.@: @file{/tmp/inst$$}) because such a directory can be recreated
! by an unprivileged user after the original directory has been removed.
! We also do not recommend prefixes that might be behind an automounter
! (e.g.@: @file{$HOME/inst$$}) because of the performance impact of
! directory searching.
! 
! Here's a sample installation run that takes into account all these
! recommendations:
! 
! @example
! ./configure --enable-relocatable --prefix=/nonexistent
! make
! make install DESTDIR=/tmp/inst$$
! @end example
  
  Installation with @option{--enable-relocatable} will not work for
  setuid or setgid executables, because such executables search only

-- 
Positronic Functional Android Fabricated for Fighting





reply via email to

[Prev in Thread] Current Thread [Next in Thread]