This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Non-root locale data install problem
- To: libc-alpha@cygnus.com
- Subject: Non-root locale data install problem
- From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
- Date: Sun, 13 Sep 1998 19:50:04 +0200 (MET DST)
- Organization: Technical University of Gdansk
- Reply-To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
>Submitter-Id: net
>Originator: Maciej W. Rozycki
>Organization: Technical University of Gdansk
>Confidential: no
>Synopsis: Non-root locale data install problem
>Severity: non-critical
>Priority: low
>Category: libc
>Class: change-request
>Release: libc-2.0.95
>Environment:
Host type: i586-pc-linux-gnu
System: Linux macro.ds2.pg.gda.pl 2.1.119 #2 SMP Sun Aug 30 16:15:20 CEST 1998 i586 unknown
Architecture: i586
Addons: crypt linuxthreads
Build CFLAGS: -O2 -m486
Build CC: gcc
Compiler version: egcs-2.91.54 19980816 (gcc2 ss-980609 experimental)
Kernel headers: 2.1.121
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: yes
Build omitfp: yes
Build bounded: no
Build static-nss: no
Stdio: libio
>Description:
The Makefile for localedata subdirectory uses chroot(1) during
installation process which makes the process fail.
>How-To-Repeat:
Issue:
make -C localedata install_root=/var/tmp/glibc-2.0.95-root install-locales
in the root source directory from a non-root account.
>Fix:
Here is an example patch that fixed the problem for me.
diff -u --recursive --new-file glibc-2.0.94.macro/localedata/Makefile glibc-2.0.94/localedata/Makefile
--- glibc-2.0.94.macro/localedata/Makefile Sat May 9 00:03:19 1998
+++ glibc-2.0.94/localedata/Makefile Sun May 31 23:17:15 1998
@@ -80,13 +80,9 @@
endif
# Sometimes the whole collection of locale files should be installed.
-ifneq ($(install_root),)
-LOCALEDEF=chroot $(install_root) $(bindir)/localedef
-else
-LOCALEDEF=$(common-objpfx)locale/localedef
-endif
+LOCALEDEF=LD_PRELOAD=$(common-objpfx)libc.so$(libc.so-version) $(elf-objpfx)$(rtld-installed-name) $(common-objpfx)locale/localedef
install-locales:
while read locale charset; do \
case $$locale in \#*) continue;; esac; \
- $(LOCALEDEF) -c -i $$locale -f $$charset $$locale; \
+ I18NPATH=$(common-objpfx)localedata LOCPATH=$(common-objpfx)localedata $(LOCALEDEF) -c -i $$locale -f $(common-objpfx)localedata/charmaps/$$charset $(inst_localedir)/$$locale; \
done < SUPPORTED