Re: cdrtools-2.01a22 ready
>From: Andy Polyakov <appro@fy.chalmers.se>
>> Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
>>
>> - Now using the major() macro for some Linux duties.
>>
>> WARNING to creators of Linux distributions:
>As such wording sounds very much as "political statement," I feel
>necessity to comment on following.
It is definitely not politocal but it tries to be so simple that even
the morons you typically meet on the LKML will understand it :-(
>> It has _always_ been wrong to compile software only once for different
>> kernel versions (e.g. for compile Linux-2.4 and later install a
>> 2.2 kernel on the so created system).
>I can't find the above statement to hold universally true. I would
>accept "it has always beed wrong to compile *cdrtools* only once for
>different kernel versions," but I refuse to accept formulation as broad
>as above. There is possibility that author's intention *was* to make
>statement about cdrtools in particular, in which case a clarification
Sorry, Linux-2.6 _did_ definitely change interfaces in an incomptible way.
>note would be appropriate. Meanwhile I can say that I disagree with the
>above statement in its current wording, because it's perfectly possible
>to design software for backward binary compatility and even for two-way
>compatibility. Moreover! Creators of Linux distributions *should*
>actually strive for at least backward compatibility in maximum possible
>extent, i.e. programs compiled under elder distribution should work and
>even be supported under newer release, unless there is stronger reason
>not to. I mean "it works in latest distribution if recompiled" per se
And this is definitely wrong!
Unfortunately, Linux-2.6 did change iterfaces in a way so it is impossible
to run all applications compiled under earlier releases.
This may be proved by looking at star: As the major()/minor() macro did
change in an incompatible way, star just _cannot_ work correctly if you
mix versions. Star compiled for pre-2.6 does not handle device nodes
correctly on 2.6 and this is _not_ caused by a bug in star.
As it has been prooven, that there are problems with at least one program,
what is wrong when I warn people that there might problems with other
programs also?
>> Now that Linux-2.6 introduces incompatible changes to kernel/user
>> interfaces, the resulting binaries will not work correctly anymore.
>The "political statement" appearence is strengthened by the fact that
>this issue has no apparent connection with context in which they're
>brought up, namely switching to major() macro in cdda2wav. I mean as far
>as calculation of major device number goes, at least 2.4 and 2.6 kernels
>are two-way binary compatible. Even binary compatibility with 2.2 (once
>again as far as calculation of major device number goes!) is rather libc
>issue than kernel one. A.
If you obviously cannot distinct between political statements and serious
warnings about Linux kernel incompatibilities, please don't shout too loud....
I am just warning people that unless they did 100% prove that every single
aspect of a program will work correctly, if you run it on 2.6 vs. non 2.6
systems, it is more safe to assume that there is no binary compatibility.
Jörg
--
EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni) If you don't have iso-8859-1
schilling@fokus.fraunhofer.de (work) chars I am J"org Schilling
URL: http://www.fokus.fraunhofer.de/usr/schilling ftp://ftp.berlios.de/pub/schily
Reply to: