DSL Tips and Tricks :: easier way to compile stuff for DSL



Quote
use the headers from the Knoppix iso


The problem (to put it another way) is I don't think knoppix3.4 contains a full development environment with all the library headers, and at least some of the core Knoppix3.4 libaries are clearly not exactly Woody versions which is one reason we can't compile some things against woody headers.   Even (in one case I can think of) if I force-install woody's libpng2 over dsl's and add libpng2-dev, yes, binaries do compile - but they don't necessarily run on dsl without woody's libpng2 installed because then they are looking for the wrong library version!

I don't think from memory knoppix3.4 has the full linux-kernel-headers either, since Mr Knopper says just to do the bad symlink thing.  So making a union of Knoppix3.4 and dsl with unionfs might not achieve anything.

What we need are the correct headers for all the libs.  As I said I think there are about two headers  in gcc1-with-libs.dsl that I've found that do not match dsl libs.  There might be more.  That's why I was asking what happened to knoppix's own repos - for the *-dev packages (headers).

I don't know if the linux-kernel-headers extension in the repo exactly matches the kernel headers dsl's libc6 was compiled against.   Who knows. Again, I asked on a knoppix developers mail list what kernel was installed when glibc was compiled on knoppix3.4 (assuming it was) and got no response.  They probably can't remember, it's a pity there is not better documentation.

The only way to fully control these things is to use a more or less unchanged distro as the base so that the key matching headers are available in the repos (in terms of core libs, leaving aside TinyX etc), or compile all the core libs from scratch so the headers are available.  (I have wondered what would happen if dsl's non-woody core libs were all replaced with conforming Woody libs.)

Note: afaik the kernelsource.dsl includes all the kernel headers from knoppix 3.4 (i386)... yes, the name is misleading as well... should it require changing?

However, I have always compiled libraries in DSL and not on the Knoppix CD, so I cannot comment on that.

hats - kernelsource.dsl is only the contents of /usr/src from knoppix3.4, which does not contain the kernel sources. It's not terribly useful.

linux-kernel-headers.dsl is the /usr/include{asm,linux} stuff I was talking about.  But they are from linux-kernel-headers (2.5.999-test7-bk-17) unstable  Sun,  6 Jun 2004 and so I'm not sure these are from Woody?

The other place to get these headers (sometimes called "protected headers" I suppose since they are kept separate from the running kernel headers) is from libc6-dev. which makes sense since it's libc6 these have to match, not the running kernel.

The poster of lib6c-dev.dsl has made linux-kernel-headers.dsl a prerequisite and factored these out, so (s)he seems to be sure these will match dsl's libc6. I suspect you need to clobber dsl's libc6 with libc6.dsl in order to make this work for compiling.

There are bunch of "appropriate sounding" kernel header debs on the site Yodelaye mentioned a few posts back in this thread, eg: kernel-headers-2.4.26-2_2.4.26-1woody.1_i386.deb.

In fact I was wondering if the best thing to do to create a compile environment that was as close to/appropriate for DSL as possible, would be to compile the compiler. To this end, I installed woody debs to be be able to compile gcc, binutils and make from binaries and have been using these to build a compile environment from binaries matching the version numbers of the woody counterparts (m4, bison, flex, gettext, texinfo, libxml2, etc). Since libc6 in DSL is somewhere between woody and oldstable, I used the oldstable libc6-dev and kernelsource.dsl for headers.

Would it make sense to try and compile glibc in order to get headers for DSL's version of libc6 (assuming I can find the matching version)? Would it make sense to use the debs at the top of this post for kernel headers or would it be better to use headers from the 2.4.26 kernel source?

So far the "compiled on DSL" build environment seems to be working

Quote
I was wondering if the best thing to do to create a compile environment that was as close to/appropriate for DSL as possible, would be to compile the compiler.
Yes, I think that would be the ideal solution. This is the method used when building a unique distro (one that is not directly based on another, which is very rare these days, sometimes known as linux from scratch). A compiler from another distro is used to compile a new compiler, and when that is properly finished the new compiler is used to build the remaining parts of the system.
However, I don't see the point in putting any focus at all on Debian packages when building a compiling system. The two have little to do with each other, in my opinion. If it were me building a set of compiling tools, I'd probably rebuild DSL's core applications and libraries too, convert DSL into its own unique distro, and screw the package management =o)

Next Page...
original here.