Re: Stop the Linux kernel madness

From: 4Front Technologies
Date: Fri Jun 18 2004 - 17:53:04 EST


Sam Ravnborg wrote:

On Thu, Jun 17, 2004 at 05:27:45PM -0700, 4Front Technologies wrote:

Our commercial OSS drivers work perfectly with Linux 2.6.5, 2.6.6, 2.6.7
and they are failing to install with SuSE's 2.6.5 kernel. The reason is that
they have gone and changed the kernel headers which mean that nothing works.

For instance our kernel interface module doesn't compile anymore we see the following
errors:


make -C /lib/modules/`uname -r`/build scripts scripts_basic include/linux/version.h
make[1]: Entering directory `/usr/src/linux-2.6.5-7.75-obj/i386/bigsmp'
make[1]: Nothing to be done for `scripts'.
make[1]: *** No rule to make target `scripts_basic'. Stop.
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.75-obj/i386/bigsmp'
make: *** [ossbuild] Error 2

Trying to compile using INCLUDE=/lib/modules/2.6.5-7.75-bigsmp/build/include
In file included from /usr/include/asm/smp.h:18,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/sched.h:23,
from /usr/include/linux/module.h:10,
from src/sndshield.c:49:
/usr/include/asm/mpspec.h:6:25: mach_mpspec.h: No such file or directory
In file included from /usr/include/asm/smp.h:18,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/sched.h:23,
from /usr/include/linux/module.h:10,



Why is this happening?. It's working fine with Linux 2.6.5 and also worked with
Linux 2.6.4 kernels from SuSE 9.1


It looks like SuSE as the first distribution took the sane approach to
seperate source and output files.
I presume they have documented this somewhere - and I have a patch
from Andreas G. that should actually solve this if a module is
compiled in the usual way like you do.

So you seems to be bitten by a distributor starting to use a new
facility in kbuild.

Why did you not post the error in your first mail btw?

Sam



Sam,

The problem is that we had our software working correctly with Linux 2.6.7
and when we started to get a flood of support requests from our customers, I
just pulled down the sources from kernel.org to see what might be the
differences and when you start seeing huge 12.8 Megs of differences between
2.6.5 from kernel.org and SuSE's 2.6.5 kernel, you start to wonder if the
problem is with your software.

The fact is that we discovered belatedly that the whole problem
was nothing but a broken build link to the correct sources makes my point
that a) there are no standards for shipping sources for out-of-kernel modules
to be able to build b) massive variations from the vanilla kernels causes
developers to have to keep doing #ifdef SUSE or #ifdef REDHAT or #ifdef DEBIAN
and #if (SUSE && LINUX-2.6.5) && !(REDHAT && LINUX 2.6.5) and so on....is a
cause for massive amounts of grief.

I apologize for not having the forsight to figure out that KBUILD was the
problem.


best regards

Dev Mazumdar
-----------------------------------------------------------
4Front Technologies
4035 Lafayette Place, Unit F, Culver City, CA 90232, USA.
Tel: (310) 202 8530 URL: www.opensound.com
Fax: (310) 202 0496 Email: info@xxxxxxxxxxxxx
-----------------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/