mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-17 13:00:43 +08:00
Attempting to install glibc configured with --prefix=/usr into
a non-standard directory specified by the prefix make variable fails with an error. Since this is an unsupported use case, this change makes make install fail early and with a descriptive error message when either the prefix or the exec_prefix make variable is overridden on the command line.
This commit is contained in:
parent
9714012ca0
commit
a82a3db950
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2015-06-12 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
[BZ #18512]
|
||||
* Makerules (check-install-supported): New target.
|
||||
(install): Add check-install-supported as a dependency.
|
||||
* manual/install.texi (Installing the C Library): Document
|
||||
that overriding prefix and exec_prefix is not supported.
|
||||
Mention DESTDIR.
|
||||
* INSTALL: Regenerate from the above.
|
||||
|
||||
2015-06-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #18519]
|
||||
|
8
INSTALL
8
INSTALL
@ -295,11 +295,13 @@ headers from libraries other than the GNU C Library yourself after
|
||||
installing the library.
|
||||
|
||||
You can install the GNU C Library somewhere other than where you
|
||||
configured it to go by setting the 'install_root' variable on the
|
||||
command line for 'make install'. The value of this variable is
|
||||
configured it to go by setting the 'DESTDIR' GNU standard make variable
|
||||
on the command line for 'make install'. The value of this variable is
|
||||
prepended to all the paths for installation. This is useful when
|
||||
setting up a chroot environment or preparing a binary distribution. The
|
||||
directory should be specified with an absolute file name.
|
||||
directory should be specified with an absolute file name. Installing
|
||||
with the 'prefix' and 'exec_prefix' GNU standard make variables set is
|
||||
not supported.
|
||||
|
||||
The GNU C Library includes a daemon called 'nscd', which you may or
|
||||
may not want to run. 'nscd' caches name service lookups; it can
|
||||
|
20
Makerules
20
Makerules
@ -916,6 +916,26 @@ endef
|
||||
installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\
|
||||
$(inst_libdir)/$(patsubst %,$(libtype$o),\
|
||||
$(libprefix)$(libc-name)))
|
||||
|
||||
.PHONY: check-install-supported
|
||||
check-install-supported:
|
||||
|
||||
# Check to see if the prefix or exec_prefix GNU standard variable
|
||||
# has been overridden on the command line and, if so, fail with
|
||||
# an error message since doing so is not supported (set DESTDIR
|
||||
# instead).
|
||||
ifeq ($(origin prefix),command line)
|
||||
check-install-supported:
|
||||
$(error Overriding prefix is not supported. Set DESTDIR instead.)
|
||||
endif
|
||||
|
||||
ifeq ($(origin exec_prefix),command line)
|
||||
check-install-supported:
|
||||
$(error Overriding exec_prefix is not supported. Set DESTDIR instead.)
|
||||
endif
|
||||
|
||||
install: check-install-supported
|
||||
|
||||
install: $(installed-libcs)
|
||||
$(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
|
||||
$(make-target-directory)
|
||||
|
2
NEWS
2
NEWS
@ -21,7 +21,7 @@ Version 2.22
|
||||
18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324,
|
||||
18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444,
|
||||
18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498, 18507,
|
||||
18519, 18520, 18522.
|
||||
18512, 18519, 18520, 18522.
|
||||
|
||||
* Cache information can be queried via sysconf() function on s390 e.g. with
|
||||
_SC_LEVEL1_ICACHE_SIZE as argument.
|
||||
|
@ -333,12 +333,14 @@ headers, but nothing else. If you do this, you will need to restore
|
||||
any headers from libraries other than @theglibc{} yourself after installing the
|
||||
library.
|
||||
|
||||
You can install @theglibc{} somewhere other than where you configured it to go
|
||||
by setting the @code{install_root} variable on the command line for
|
||||
@samp{make install}. The value of this variable is prepended to all the
|
||||
paths for installation. This is useful when setting up a chroot
|
||||
environment or preparing a binary distribution. The directory should be
|
||||
specified with an absolute file name.
|
||||
You can install @theglibc{} somewhere other than where you configured
|
||||
it to go by setting the @code{DESTDIR} GNU standard make variable on
|
||||
the command line for @samp{make install}. The value of this variable
|
||||
is prepended to all the paths for installation. This is useful when
|
||||
setting up a chroot environment or preparing a binary distribution.
|
||||
The directory should be specified with an absolute file name. Installing
|
||||
with the @code{prefix} and @code{exec_prefix} GNU standard make variables
|
||||
set is not supported.
|
||||
|
||||
@Theglibc{} includes a daemon called @code{nscd}, which you
|
||||
may or may not want to run. @code{nscd} caches name service lookups; it
|
||||
|
Loading…
Reference in New Issue
Block a user