WDef
Group: Members
Posts: 798
Joined: Sep. 2005 |
|
Posted: July 02 2007,13:39 |
|
By glibc is meant the GNU C library, or Standard C library, which is what we call libc6
This why Sarge deb packages often want you to upgrade libc6 when you try to install then on dsl - a newer libc6 is a necessary dependency. It is fundamentally what defines what userspace prog will run on which system (other libs notwithstanding).
Unfortunately dsl's libc6 (from the Knoppix3.4 parent disk) is not exactly Woody's, but it's very close - close enough not to create difficulties running Woody binaries. But as we discover apt-get on Woody repos doesn't always agree, which is when I use --ignore-depends on dpkg. Knoppix sometimes customize and compile their own versions of things that are slightly different to the debian base.
Quote | How do you make sure /usr/include matches the running glibc? |
I guess by having glibc and linux-kernel-headers from the same distro version, without fiddling with either. Or by recompiling glibc and putting the appropriate kernel headers in /usr/include/linux etc
Quote | I'm going to guess that gcc1-with-libs.dsl was created from a debian package |
I imagine that a number of debian dev packages were added to gcc to make this.
Didn't Knoppix used to have their own repos with all their own packages? If so then the matching headers exist somewhere.
A bit of C that attempts to test compile against all the headers and libs (the way that some configure scripts do when they are testing if your headers and libs match) could systematically test all the libs and headers in gcc1-with-libs.dsl
I think I only recall coming across the one mismatch though, or it might be two - zlib ought to be checked as well.
One workaround would be to ask Robert to consider recompiling and re-installing the conflicting lib(s) but keeping the matching headers, so we have a guaranteed match - perhaps even put them into dsl. The mismatching headers could just be deleted from gcc-with-libs.dsl. Header files are often very small anyway.
A total solution would be to recompile all of dsl's libs from scratch automatically using something like the T2 build system scripts and then keep all the headers somewhere for download.
I've had some dealings with one of the authors of the T2 build system - if John and Robert want I'm sure they might consider helping set this up for dsl with Robert. It would give Robert total control over all elements in dsl and provide freedom from whatever idiosyncratic version decisions Knoppix had made.
|