mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
Sat Jun 22 10:44:09 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* rpm/template (Source): New field. (%prep, %build, %install): New sections. (%files): Add %doc FAQ NEWS NOTES README. * rpm/rpmrc (builddir): Removed.
This commit is contained in:
60
FAQ
60
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.
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user