--- FAQ.in.orig Thu Jun 21 13:31:02 2001 +++ FAQ.in Fri Jun 22 12:00:39 2001 @@ -1,3 +1,5 @@ +?{charset=us-ascii} +?{title-prefix=glibc FAQ: } Frequently Asked Questions about the GNU C Library This document tries to answer questions a user might have when installing @@ -388,6 +390,7 @@ however, install it alongside your existing libc. For Linux there are three major libc versions: + libc-4 a.out libc libc-5 original ELF libc libc-6 GNU libc @@ -420,8 +423,8 @@ option for this so you have to use a `configparms' file (see the `INSTALL' file for details). It should contain: -slibdir=/lib -sysconfdir=/etc + slibdir=/lib + sysconfdir=/etc The first line specifies the directory for the essential libraries, the second line the directory for system configuration files. @@ -483,11 +486,13 @@ dynamic linker, which does not work with glibc. For casual use of GNU libc you can just specify to the linker - --dynamic-linker=/lib/ld-linux.so.2 + + --dynamic-linker=/lib/ld-linux.so.2 which is the glibc dynamic linker, on Linux systems. On other systems the name is /lib/ld.so.1. When linking via gcc, you've got to add - -Wl,--dynamic-linker=/lib/ld-linux.so.2 + + -Wl,--dynamic-linker=/lib/ld-linux.so.2 to the gcc command line. @@ -507,53 +512,50 @@ Here is what the gcc-2.7.2 specs file should look like when GNU libc is installed at /usr: ------------------------------------------------------------------------ -*asm: -%{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} - -*asm_final: -%| + *asm: + %{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} -*cpp: -%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} + *asm_final: + %| -*cc1: -%{profile:-p} + *cpp: + %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} -*cc1plus: + *cc1: + %{profile:-p} + *cc1plus: -*endfile: -%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s -*link: --m elf_i386 %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}}} + *endfile: + %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s -*lib: -%{!shared: %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}} + *link: + -m elf_i386 %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}}} -*libgcc: --lgcc + *lib: + %{!shared: %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}} -*startfile: -%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s} + *libgcc: + -lgcc -*switches_need_spaces: + *startfile: + %{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s} + *switches_need_spaces: -*signed_char: -%{funsigned-char:-D__CHAR_UNSIGNED__} -*predefines: --D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386) + *signed_char: + %{funsigned-char:-D__CHAR_UNSIGNED__} -*cross_compile: -0 + *predefines: + -D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386) -*multilib: -. ; + *cross_compile: + 0 ------------------------------------------------------------------------ + *multilib: + . ; Things get a bit more complicated if you have GNU libc installed in some other place than /usr, i.e., if you do not want to use it instead of the old @@ -574,7 +576,7 @@ or incorrect /usr/lib/libc.so file; note that this is a small text file now, not a symlink to libc.so.6. It should look something like this: -GROUP ( libc.so.6 libc_nonshared.a ) + GROUP ( libc.so.6 libc_nonshared.a ) ??excpt When I run an executable on one system which I compiled on another, I get dynamic linker errors. Both systems have the same @@ -647,23 +649,21 @@ Here is a simple SED script to convert at least some Linux specific catalog files to the XPG4 form: ------------------------------------------------------------------------ -# Change catalog source in Linux specific format to standard XPG format. -# Ulrich Drepper
, 1996. -# -/^\$ #/ { - h - s/\$ #\([^ ]*\).*/\1/ - x - s/\$ #[^ ]* *\(.*\)/\$ \1/ -} - -/^# / { - s/^# \(.*\)/\1/ - G - s/\(.*\)\n\(.*\)/\2 \1/ -} ------------------------------------------------------------------------ + # Change catalog source in Linux specific format to standard XPG format. + # Ulrich Drepper , 1996. + # + /^\$ #/ { + h + s/\$ #\([^ ]*\).*/\1/ + x + s/\$ #[^ ]* *\(.*\)/\$ \1/ + } + + /^# / { + s/^# \(.*\)/\1/ + G + s/\(.*\)\n\(.*\)/\2 \1/ + } ?? Programs using libc have their messages translated, but other behavior is not localized (e.g. collating order); why? @@ -673,7 +673,7 @@ install this database, after you have run `make install'. For example, to set up the French Canadian locale, simply issue the command - localedef -i fr_CA -f ISO-8859-1 fr_CA + localedef -i fr_CA -f ISO-8859-1 fr_CA Please see localedata/README in the source tree for further details. @@ -782,6 +782,7 @@ support and works directly with glibc 2.1. If you use gcc-2.8.1 with libstdc++ 2.8.1.1, you need to modify libstdc++ a bit. A patch is available as: +