diff options
author | Bruno Haible <bruno@clisp.org> | 2008-08-23 09:24:26 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-06-23 12:15:48 +0200 |
commit | 3ca21651ac1de83c62a25729780e8901d54a34da (patch) | |
tree | 1bf56ff58697138bba76f7995412e22c51a5737a | |
parent | 41e48d7fc6af098c63696d1d7a28285c294119ad (diff) | |
download | external_gettext-3ca21651ac1de83c62a25729780e8901d54a34da.zip external_gettext-3ca21651ac1de83c62a25729780e8901d54a34da.tar.gz external_gettext-3ca21651ac1de83c62a25729780e8901d54a34da.tar.bz2 |
Update the sections "Compiling For Multiple Architectures" and
"Particular Systems".
-rw-r--r-- | INSTALL | 30 | ||||
-rw-r--r-- | autoconf-lib-link/INSTALL | 132 | ||||
-rw-r--r-- | gettext-runtime/INSTALL | 132 | ||||
-rw-r--r-- | gettext-runtime/libasprintf/INSTALL | 132 | ||||
-rw-r--r-- | gettext-tools/INSTALL | 132 |
5 files changed, 362 insertions, 196 deletions
@@ -83,16 +83,19 @@ in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. - On MacOS X systems, you can create libraries and executables that work -on multiple system types - known as "fat" or "universal" binaries - by -specifying multiple '-arch' options to the compiler but only a single -'-arch' option to the preprocessor. Like this: + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: - env CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -arch ppc -E" \ - CXXCPP="g++ -arch ppc -E" \ - ./configure + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases. You +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. Installation Names ================== @@ -211,9 +214,12 @@ to use an ANSI C compiler: ./configure CC="cc -Ae" - On OSF/1 a.k.a. Tru64, some versions of the default C compiler don't grok -its <wchar.h> header file. The option -nodtk can be used as a workaround. -If GNU CC is not installed, it is therefore recommended to try +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try ./configure CC="cc" diff --git a/autoconf-lib-link/INSTALL b/autoconf-lib-link/INSTALL index 44287b7..6360f5d 100644 --- a/autoconf-lib-link/INSTALL +++ b/autoconf-lib-link/INSTALL @@ -1,8 +1,15 @@ +These are generic installation instructions. + +Prerequisites +============= + + This package depends on a few other packages. They are listed in +the file `DEPENDENCIES'. It is recommended to install the listed +packages before installing this package. + Basic Installation ================== - These are generic installation instructions. - The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. @@ -76,16 +83,19 @@ in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. - On MacOS X systems, you can create libraries and executables that work -on multiple system types - known as "fat" or "universal" binaries - by -specifying multiple '-arch' options to the compiler but only a single -'-arch' option to the preprocessor. Like this: + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" - env CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -arch ppc -E" \ - CXXCPP="g++ -arch ppc -E" \ - ./configure + This is not guaranteed to produce working output in all cases. You +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. Installation Names ================== @@ -110,38 +120,65 @@ you can set and what kinds of files go in them. with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Relocatable Installation -======================== - - By default, `make install' will install a package with hardwired -file names, and the package will not work correctly when copied or -moved to a different location in the filesystem. - - Some packages pay attention to the `--enable-relocatable' option to -`configure'. This option makes the entire installed package -relocatable. This means, it can be moved or copied to a different -location on the filesystem. It is possible to make symlinks to the -installed and moved programs, and invoke them through the symlink. It -is possible to do the same thing with a hard link _only_ if the hard -linked file is in the same directory as the real program. - - For reliability it is best to give together with --enable-relocatable -a `--prefix' option pointing to an otherwise unused (and never used -again) directory, for example, `--prefix=/tmp/inst$$'. This is -recommended because on some OSes the executables remember the location -of shared libraries (and prefer them over LD_LIBRARY_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 `--enable-relocatable' will not work for setuid / -setgid executables. (This is because such an executable kills its -LD_LIBRARY_PATH variable when it is launched.) - - The runtime penalty and size penalty are nearly zero on Linux 2.2 or -newer (just one system call more when an executable is launched), and -small on other systems (the wrapper program just sets an environment -variable and execs the real program). +Enabling Relocatability +======================= + + It has been a pain for many users of GNU packages for a long time +that packages are not relocatable. It means a user cannot copy a +program, installed by another user on the same machine, to his home +directory, and have it work correctly (including i18n). So many users +need to go through `configure; make; make install' with all its +dependencies, options, and hurdles. + + Red Hat, Debian, and similar package systems solve the "ease of +installation" problem, but they hardwire path names, usually to `/usr' +or `/usr/local'. This means that users need root privileges to install +a binary package, and prevents installing two different versions of the +same binary package. + + A relocatable program can be moved or copied to a different location +on the filesystem. It is possible to make symlinks to the installed +and moved programs, and invoke them through the symlink. It is possible +to do the same thing with a hard link _only_ if the hard link file is +in the same directory as the real program. + + To configure a program to be relocatable, add `--enable-relocatable' +to the `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 `--prefix' +option pointing to a directory that does not exist now and which never +will be created, e.g. `--prefix=/nonexistent'. You may use +`DESTDIR=DEST-DIR' on the `make' command line to avoid installing into +that directory. + + We do not recommend using a prefix writable by unprivileged users +(e.g. `/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. `$HOME/inst$$') because of the performance impact of directory +searching. + + Here's a sample installation run that takes into account all these +recommendations: + + ./configure --enable-relocatable --prefix=/nonexistent + make + make install DESTDIR=/tmp/inst$$ + + Installation with `--enable-relocatable' will not work for setuid or +setgid executables, because such executables search only system library +paths for security reasons. Also, installation with +`--enable-relocatable' might not work on OpenBSD, when the package +contains shared libraries and libtool versions 1.5.xx are used. + + The runtime penalty and size penalty are negligible on GNU/Linux +(just one system call more when an executable is launched), and small on +other systems (the wrapper program just sets an environment variable +and executes the real program). Optional Features ================= @@ -177,9 +214,12 @@ to use an ANSI C compiler: ./configure CC="cc -Ae" - On OSF/1 a.k.a. Tru64, some versions of the default C compiler don't grok -its <wchar.h> header file. The option -nodtk can be used as a workaround. -If GNU CC is not installed, it is therefore recommended to try +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try ./configure CC="cc" diff --git a/gettext-runtime/INSTALL b/gettext-runtime/INSTALL index 44287b7..6360f5d 100644 --- a/gettext-runtime/INSTALL +++ b/gettext-runtime/INSTALL @@ -1,8 +1,15 @@ +These are generic installation instructions. + +Prerequisites +============= + + This package depends on a few other packages. They are listed in +the file `DEPENDENCIES'. It is recommended to install the listed +packages before installing this package. + Basic Installation ================== - These are generic installation instructions. - The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. @@ -76,16 +83,19 @@ in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. - On MacOS X systems, you can create libraries and executables that work -on multiple system types - known as "fat" or "universal" binaries - by -specifying multiple '-arch' options to the compiler but only a single -'-arch' option to the preprocessor. Like this: + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" - env CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -arch ppc -E" \ - CXXCPP="g++ -arch ppc -E" \ - ./configure + This is not guaranteed to produce working output in all cases. You +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. Installation Names ================== @@ -110,38 +120,65 @@ you can set and what kinds of files go in them. with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Relocatable Installation -======================== - - By default, `make install' will install a package with hardwired -file names, and the package will not work correctly when copied or -moved to a different location in the filesystem. - - Some packages pay attention to the `--enable-relocatable' option to -`configure'. This option makes the entire installed package -relocatable. This means, it can be moved or copied to a different -location on the filesystem. It is possible to make symlinks to the -installed and moved programs, and invoke them through the symlink. It -is possible to do the same thing with a hard link _only_ if the hard -linked file is in the same directory as the real program. - - For reliability it is best to give together with --enable-relocatable -a `--prefix' option pointing to an otherwise unused (and never used -again) directory, for example, `--prefix=/tmp/inst$$'. This is -recommended because on some OSes the executables remember the location -of shared libraries (and prefer them over LD_LIBRARY_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 `--enable-relocatable' will not work for setuid / -setgid executables. (This is because such an executable kills its -LD_LIBRARY_PATH variable when it is launched.) - - The runtime penalty and size penalty are nearly zero on Linux 2.2 or -newer (just one system call more when an executable is launched), and -small on other systems (the wrapper program just sets an environment -variable and execs the real program). +Enabling Relocatability +======================= + + It has been a pain for many users of GNU packages for a long time +that packages are not relocatable. It means a user cannot copy a +program, installed by another user on the same machine, to his home +directory, and have it work correctly (including i18n). So many users +need to go through `configure; make; make install' with all its +dependencies, options, and hurdles. + + Red Hat, Debian, and similar package systems solve the "ease of +installation" problem, but they hardwire path names, usually to `/usr' +or `/usr/local'. This means that users need root privileges to install +a binary package, and prevents installing two different versions of the +same binary package. + + A relocatable program can be moved or copied to a different location +on the filesystem. It is possible to make symlinks to the installed +and moved programs, and invoke them through the symlink. It is possible +to do the same thing with a hard link _only_ if the hard link file is +in the same directory as the real program. + + To configure a program to be relocatable, add `--enable-relocatable' +to the `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 `--prefix' +option pointing to a directory that does not exist now and which never +will be created, e.g. `--prefix=/nonexistent'. You may use +`DESTDIR=DEST-DIR' on the `make' command line to avoid installing into +that directory. + + We do not recommend using a prefix writable by unprivileged users +(e.g. `/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. `$HOME/inst$$') because of the performance impact of directory +searching. + + Here's a sample installation run that takes into account all these +recommendations: + + ./configure --enable-relocatable --prefix=/nonexistent + make + make install DESTDIR=/tmp/inst$$ + + Installation with `--enable-relocatable' will not work for setuid or +setgid executables, because such executables search only system library +paths for security reasons. Also, installation with +`--enable-relocatable' might not work on OpenBSD, when the package +contains shared libraries and libtool versions 1.5.xx are used. + + The runtime penalty and size penalty are negligible on GNU/Linux +(just one system call more when an executable is launched), and small on +other systems (the wrapper program just sets an environment variable +and executes the real program). Optional Features ================= @@ -177,9 +214,12 @@ to use an ANSI C compiler: ./configure CC="cc -Ae" - On OSF/1 a.k.a. Tru64, some versions of the default C compiler don't grok -its <wchar.h> header file. The option -nodtk can be used as a workaround. -If GNU CC is not installed, it is therefore recommended to try +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try ./configure CC="cc" diff --git a/gettext-runtime/libasprintf/INSTALL b/gettext-runtime/libasprintf/INSTALL index 44287b7..6360f5d 100644 --- a/gettext-runtime/libasprintf/INSTALL +++ b/gettext-runtime/libasprintf/INSTALL @@ -1,8 +1,15 @@ +These are generic installation instructions. + +Prerequisites +============= + + This package depends on a few other packages. They are listed in +the file `DEPENDENCIES'. It is recommended to install the listed +packages before installing this package. + Basic Installation ================== - These are generic installation instructions. - The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. @@ -76,16 +83,19 @@ in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. - On MacOS X systems, you can create libraries and executables that work -on multiple system types - known as "fat" or "universal" binaries - by -specifying multiple '-arch' options to the compiler but only a single -'-arch' option to the preprocessor. Like this: + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" - env CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -arch ppc -E" \ - CXXCPP="g++ -arch ppc -E" \ - ./configure + This is not guaranteed to produce working output in all cases. You +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. Installation Names ================== @@ -110,38 +120,65 @@ you can set and what kinds of files go in them. with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Relocatable Installation -======================== - - By default, `make install' will install a package with hardwired -file names, and the package will not work correctly when copied or -moved to a different location in the filesystem. - - Some packages pay attention to the `--enable-relocatable' option to -`configure'. This option makes the entire installed package -relocatable. This means, it can be moved or copied to a different -location on the filesystem. It is possible to make symlinks to the -installed and moved programs, and invoke them through the symlink. It -is possible to do the same thing with a hard link _only_ if the hard -linked file is in the same directory as the real program. - - For reliability it is best to give together with --enable-relocatable -a `--prefix' option pointing to an otherwise unused (and never used -again) directory, for example, `--prefix=/tmp/inst$$'. This is -recommended because on some OSes the executables remember the location -of shared libraries (and prefer them over LD_LIBRARY_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 `--enable-relocatable' will not work for setuid / -setgid executables. (This is because such an executable kills its -LD_LIBRARY_PATH variable when it is launched.) - - The runtime penalty and size penalty are nearly zero on Linux 2.2 or -newer (just one system call more when an executable is launched), and -small on other systems (the wrapper program just sets an environment -variable and execs the real program). +Enabling Relocatability +======================= + + It has been a pain for many users of GNU packages for a long time +that packages are not relocatable. It means a user cannot copy a +program, installed by another user on the same machine, to his home +directory, and have it work correctly (including i18n). So many users +need to go through `configure; make; make install' with all its +dependencies, options, and hurdles. + + Red Hat, Debian, and similar package systems solve the "ease of +installation" problem, but they hardwire path names, usually to `/usr' +or `/usr/local'. This means that users need root privileges to install +a binary package, and prevents installing two different versions of the +same binary package. + + A relocatable program can be moved or copied to a different location +on the filesystem. It is possible to make symlinks to the installed +and moved programs, and invoke them through the symlink. It is possible +to do the same thing with a hard link _only_ if the hard link file is +in the same directory as the real program. + + To configure a program to be relocatable, add `--enable-relocatable' +to the `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 `--prefix' +option pointing to a directory that does not exist now and which never +will be created, e.g. `--prefix=/nonexistent'. You may use +`DESTDIR=DEST-DIR' on the `make' command line to avoid installing into +that directory. + + We do not recommend using a prefix writable by unprivileged users +(e.g. `/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. `$HOME/inst$$') because of the performance impact of directory +searching. + + Here's a sample installation run that takes into account all these +recommendations: + + ./configure --enable-relocatable --prefix=/nonexistent + make + make install DESTDIR=/tmp/inst$$ + + Installation with `--enable-relocatable' will not work for setuid or +setgid executables, because such executables search only system library +paths for security reasons. Also, installation with +`--enable-relocatable' might not work on OpenBSD, when the package +contains shared libraries and libtool versions 1.5.xx are used. + + The runtime penalty and size penalty are negligible on GNU/Linux +(just one system call more when an executable is launched), and small on +other systems (the wrapper program just sets an environment variable +and executes the real program). Optional Features ================= @@ -177,9 +214,12 @@ to use an ANSI C compiler: ./configure CC="cc -Ae" - On OSF/1 a.k.a. Tru64, some versions of the default C compiler don't grok -its <wchar.h> header file. The option -nodtk can be used as a workaround. -If GNU CC is not installed, it is therefore recommended to try +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try ./configure CC="cc" diff --git a/gettext-tools/INSTALL b/gettext-tools/INSTALL index 44287b7..6360f5d 100644 --- a/gettext-tools/INSTALL +++ b/gettext-tools/INSTALL @@ -1,8 +1,15 @@ +These are generic installation instructions. + +Prerequisites +============= + + This package depends on a few other packages. They are listed in +the file `DEPENDENCIES'. It is recommended to install the listed +packages before installing this package. + Basic Installation ================== - These are generic installation instructions. - The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. @@ -76,16 +83,19 @@ in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. - On MacOS X systems, you can create libraries and executables that work -on multiple system types - known as "fat" or "universal" binaries - by -specifying multiple '-arch' options to the compiler but only a single -'-arch' option to the preprocessor. Like this: + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" - env CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -arch ppc -E" \ - CXXCPP="g++ -arch ppc -E" \ - ./configure + This is not guaranteed to produce working output in all cases. You +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. Installation Names ================== @@ -110,38 +120,65 @@ you can set and what kinds of files go in them. with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Relocatable Installation -======================== - - By default, `make install' will install a package with hardwired -file names, and the package will not work correctly when copied or -moved to a different location in the filesystem. - - Some packages pay attention to the `--enable-relocatable' option to -`configure'. This option makes the entire installed package -relocatable. This means, it can be moved or copied to a different -location on the filesystem. It is possible to make symlinks to the -installed and moved programs, and invoke them through the symlink. It -is possible to do the same thing with a hard link _only_ if the hard -linked file is in the same directory as the real program. - - For reliability it is best to give together with --enable-relocatable -a `--prefix' option pointing to an otherwise unused (and never used -again) directory, for example, `--prefix=/tmp/inst$$'. This is -recommended because on some OSes the executables remember the location -of shared libraries (and prefer them over LD_LIBRARY_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 `--enable-relocatable' will not work for setuid / -setgid executables. (This is because such an executable kills its -LD_LIBRARY_PATH variable when it is launched.) - - The runtime penalty and size penalty are nearly zero on Linux 2.2 or -newer (just one system call more when an executable is launched), and -small on other systems (the wrapper program just sets an environment -variable and execs the real program). +Enabling Relocatability +======================= + + It has been a pain for many users of GNU packages for a long time +that packages are not relocatable. It means a user cannot copy a +program, installed by another user on the same machine, to his home +directory, and have it work correctly (including i18n). So many users +need to go through `configure; make; make install' with all its +dependencies, options, and hurdles. + + Red Hat, Debian, and similar package systems solve the "ease of +installation" problem, but they hardwire path names, usually to `/usr' +or `/usr/local'. This means that users need root privileges to install +a binary package, and prevents installing two different versions of the +same binary package. + + A relocatable program can be moved or copied to a different location +on the filesystem. It is possible to make symlinks to the installed +and moved programs, and invoke them through the symlink. It is possible +to do the same thing with a hard link _only_ if the hard link file is +in the same directory as the real program. + + To configure a program to be relocatable, add `--enable-relocatable' +to the `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 `--prefix' +option pointing to a directory that does not exist now and which never +will be created, e.g. `--prefix=/nonexistent'. You may use +`DESTDIR=DEST-DIR' on the `make' command line to avoid installing into +that directory. + + We do not recommend using a prefix writable by unprivileged users +(e.g. `/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. `$HOME/inst$$') because of the performance impact of directory +searching. + + Here's a sample installation run that takes into account all these +recommendations: + + ./configure --enable-relocatable --prefix=/nonexistent + make + make install DESTDIR=/tmp/inst$$ + + Installation with `--enable-relocatable' will not work for setuid or +setgid executables, because such executables search only system library +paths for security reasons. Also, installation with +`--enable-relocatable' might not work on OpenBSD, when the package +contains shared libraries and libtool versions 1.5.xx are used. + + The runtime penalty and size penalty are negligible on GNU/Linux +(just one system call more when an executable is launched), and small on +other systems (the wrapper program just sets an environment variable +and executes the real program). Optional Features ================= @@ -177,9 +214,12 @@ to use an ANSI C compiler: ./configure CC="cc -Ae" - On OSF/1 a.k.a. Tru64, some versions of the default C compiler don't grok -its <wchar.h> header file. The option -nodtk can be used as a workaround. -If GNU CC is not installed, it is therefore recommended to try +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try ./configure CC="cc" |