>From: Andy Polyakov <[EMAIL PROTECTED]> >> Cdda2wav (By Heiko Eißfeldt [EMAIL PROTECTED]): >> >> - 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:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin [EMAIL PROTECTED] (uni) If you don't have iso-8859-1 [EMAIL PROTECTED] (work) chars I am J"org Schilling URL: http://www.fokus.fraunhofer.de/usr/schilling ftp://ftp.berlios.de/pub/schily -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]