[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Several glibc problems...



At 13:51 -0500 1998-11-16, Daniel Jacobowitz wrote:
PowerPC certainly is; a lot of the other ports have a choice between a
lightly patched 2.1.x and a very heavily patched 2.0.x kernel.  glibc
2.1 however is much pickier.  Does a glibc compiled on 2.1.x headers
run on 2.0.3x?

1.7.    What version of the Linux kernel headers should be used?

{AJ,UD} The headers from the most recent Linux kernel should be used.  The
headers used while compiling the GNU C library and the kernel binary used
when using the library do not need to match.  The GNU C library runs without
problems on kernels that are older than the kernel headers used.  The other
way round (compiling the GNU C library with old kernel headers and running
on a recent kernel) does not necessarily work.  For example you can't use
new kernel features when using old kernel headers for compiling the GNU C
library.

{ZW} Even if you are using a 2.0 kernel on your machine, we recommend you
compile GNU libc with 2.1 kernel headers.  That way you won't have to
recompile libc if you ever upgrade to kernel 2.1 or 2.2.  To tell libc which
headers to use, give configure the --with-headers switch
(e.g. --with-headers=/usr/src/linux-2.1.107/include).

Note that you must configure the 2.1 kernel if you do this; otherwise libc
will be unable to find <linux/version.h>.  Just copy .config from your 2.0
kernel sources to the 2.1 tree, do `make oldconfig', and say no to all the
new options.

What I would like to see is a version of glibc 2.1 compiled for
experimental, for now.  It will probably need a matching libstdc++ (not
sure if this applies to x86, but they are very picky about matching
libc exactly, even between 2.0.95 and 2.0.100).

2.20.   What do I need for C++ development?

{HJ,AJ} You need either egcs 1.1 which comes directly with libstdc++ or
gcc-2.8.1 together with libstdc++ 2.8.1.1.  egcs 1.1 has the better C++
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:
       ftp://alpha.gnu.org/gnu/libstdc++-2.8.1.1-glibc2.1-diff.gz

Please note that libg++ 2.7.2 (and the Linux Versions 2.7.2.x) doesn't work
very well with the GNU C library due to vtable thunks.  If you're upgrading
from glibc 2.0.x to 2.1 you have to recompile libstdc++ since the library
compiled for 2.0 is not compatible due to the new Large File Support (LFS)
in version 2.1.

{UD} But since in the case of a shared libstdc++ the version numbers should
be different existing programs will continue to work.
--
Joel Klecker (aka Espy)                     <URL:http://web.espy.org/>
<URL:mailto:jk@espy.org>                  <URL:mailto:espy@debian.org>
Debian GNU/Linux PowerPC -- <URL:http://www.debian.org/ports/powerpc/>


Reply to: