about summary refs log tree commit diff
path: root/FAQ
diff options
context:
space:
mode:
Diffstat (limited to 'FAQ')
-rw-r--r--FAQ60
1 files changed, 48 insertions, 12 deletions
diff --git a/FAQ b/FAQ
index 2714779ae8..1a434d0c94 100644
--- a/FAQ
+++ b/FAQ
@@ -31,12 +31,14 @@ please let me know.
 
 [Q6]	``Do I need some more things to compile GNU C Library?''
 
-[Q7]	``When I run `nm libc.so|grep " U "' on the produced library
-	  I still find unresolved symbols?  Can this be ok?''
+[Q7]	``When I run `nm -u libc.so' on the produced library I still
+	  find unresolved symbols?  Can this be ok?''
 
 [Q8]	``I expect GNU libc to be 100% source code compatible with
 	  the old Linux based GNU libc.  Why isn't it like this?''
 
+[Q9]	``Why does getlogin() always return NULL on my Linux box?''
+
 
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
 [Q1]	``What systems does the GNU C Library run on?''
@@ -50,7 +52,8 @@ in the future are:
 
 	*-*-gnu			GNU Hurd
 	i[3456]86-*-linux	Linux-2.0 on Intel
-	alpha-*-linux		Linux on Alpha
+	m68k-*-linux		Linux-2.0 on Motorola 680x0
+	alpha-*-linux		Linux-2.0 on DEC Alpha
 
 Other Linux platforms are also on the way to be supported but I need
 some success reports first.
@@ -75,14 +78,14 @@ archiver.
 
 The GNU CC is found like all other GNU packages on
 	ftp://prep.ai.mit.edu/pub/gnu
-or better one of the many mirrors.
+or better one of the many mirror sites.
 
 You always should try to use the latest official release.  Older
 versions might not have all the features GNU libc could use.
 
 
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-[Q3]	``When starting make I get only errors messages.
+[Q3]	``When starting `make' I get only errors messages.
 	  What's wrong?''
 
 [A3] {UD} You definitely need GNU make to translate GNU libc.  No
@@ -112,7 +115,8 @@ you should use the GNU binutils if they provide at least the same
 functionality as your system's tools.
 
 Always get the newest release of GNU binutils available.
-Older releases are known to have bugs that affect building the GNU C library.
+Older releases are known to have bugs that affect building the GNU C
+Library.
 
 
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
@@ -120,6 +124,11 @@ Older releases are known to have bugs that affect building the GNU C library.
 
 [A6] {UD} Yes, there are some more :-).
 
+* GNU gettext; the GNU libc is internationalized and partly localized.
+  For bringing the messages for the different languages in the needed
+  form the tools from the GNU gettext package are necessary.  See
+  ftp://prep.ai.mit.edu/pub/gnu or better any mirror site.
+
 * lots of diskspace (for i386-linux this means, e.g., ~70MB).
 
   You should avoid compiling on a NFS mounted device.  This is very
@@ -128,7 +137,7 @@ Older releases are known to have bugs that affect building the GNU C library.
 * plenty of time (approx 1h for i386-linux on i586@133 or 2.5h or
   i486@66).
 
-  If you are interested in some more measurements let me know.
+  If you have some more measurements let me know.
 
 * Some files depend on special tools.  E.g., files ending in .gperf
   need a `gperf' program.  The GNU version (part of libg++) is known
@@ -139,10 +148,13 @@ Older releases are known to have bugs that affect building the GNU C library.
   + the header files of the Linux kernel must be available in the
     search path of the CPP as <linux/*.h> and <asm/*.h>.
 
+* Some files depend on special tools.  E.g., files ending in .gperf
+  need a `gperf' program.  The GNU version (part of libg++) is known
+  to work while some vendor versions do not.
 
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-[Q7]	``When I run `nm libc.so|grep " U "' on the produced library
-	  I still find unresolved symbols?  Can this be ok?''
+[Q7]	``When I run `nm -u libc.so' on the produced library I still
+	  find unresolved symbols?  Can this be ok?''
 
 [A7] {UD} Yes, this is ok.  There can be several kinds of unresolved
 symbols:
@@ -150,6 +162,8 @@ symbols:
 * magic symbols automatically generated by the linker.  Names are
   often like __start_* and __stop_*
 
+* symbols starting with _dl_* come from the dynamic linker
+
 * symbols resolved by using libgcc.a
   (__udivdi3, __umoddi3, or similar)
 
@@ -165,7 +179,7 @@ errors while linking before deciding there is a problem.
 [Q8]	``I expect GNU libc to be 100% source code compatible with
 	  the old Linux based GNU libc.  Why isn't it like this?''
 
-[A8] {DMT} Not every extension in Linux libc's history was well
+[A8] {DMT,UD} Not every extension in Linux libc's history was well
 thought-out.  In fact it had a lot of problems with standards compliance
 and with cleanliness.  With the introduction of a new version number these
 errors now can be corrected.  Here is a list of the known source code
@@ -190,6 +204,14 @@ incompatibilities:
   corresponds to the third argument of the Linux reboot system call.
   That is, a call of the form reboot(a, b, c) needs to be changed into
   reboot(c).
+     Beside this the header <sys/reboot.h> defines the needed constants
+  for the argument.  These RB_* constants should be used instead of the
+  cryptic magic numbers.
+
+* swapon(): the interface of this function didn't changed, but the
+  prototype is in a separate header file <sys/swap.h>.  For the additional
+  argument of of swapon() you should use the SWAP_* constants from
+  <linux/swap.h>, which get defined when <sys/swap.h> is included.
 
 * errno: If a program uses variable "errno", then it _must_ include header
   file <errno.h>.  The old libc often (erroneously) declared this variable
@@ -215,12 +237,26 @@ incompatibilities:
        init_module	init_module	<sys/module.h>
        syslog		ksyslog_ctl	<sys/klog.h>
 
-* lpd: Older versions of lpd depend on an routine called _validuser().
+* lpd: Older versions of lpd depend on a routine called _validuser().
   The library does not provide this function, but instead provides
   __ivaliduser() which has a slightly different interfaces.  Simply
-  upgrading to a newer lpd should fix this problem (e.g., the BSD 4.4
+  upgrading to a newer lpd should fix this problem (e.g., the 4.4BSD
   lpd is known to be working).
 
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q9]	``Why does getlogin() always return NULL on my Linux box?''
+
+[A9] {UD} The GNU C library has a format for the UTMP and WTMP file
+which differs from what your system currently has.  It was extended to
+fulfill the needs of the next years when IPv6 is introduced.  So the
+record size is different, fields might have a different position and
+so reading the files written by functions from the one library cannot
+be read by functions from the other library.  Sorry, but this is what
+a major release is for.  It's better to have a cut now than having no
+means to support the new techniques later.
+
+
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~