At Fri, 4 Oct 2002 13:20:32 -0400 (EDT), Pavel Roskin wrote: > > Hello! > > There is another configuration problem that needs to be fixed. I had ALSA > already installed (CVS version as of a week ago or so). Today I compiled > alsa-driver, alsa-lib and alsa-util and then started installing them. > > I found that "make install" caused recompilation in alsa-lib. It used to > be like that, but this time I wanted to do it right. > > I found that the reason for recompilation is new files in > /usr/include/sound/, in particular asoundef.h. It turmed out that there > are two different files with this name - one is > alsa-lib/include/asoundef.h, the other is alsa-kernel/include/asoundef.h. > > Object files under alsa-lib were compiled against headers in > /usr/include/sound/, and "make install" in alsa-kernel installed new > headers there. The dependency was recorded by the compiler, so the > alsa-lib object files became out of date. > > It seems to me that there are at least two things wrong here. First is > that the kernel should not be installing its headers in places where they > can be accidentally used. Most software should not need those headers at > all. > > For example, Linux kernel includes are available under linux and asm in > /usr/include. When I'm using them, I'm well aware of the fact that it's > essentially a private kernel interface and that I should avoid it if > possible.
well, not all people are aware of that inclusion of kernel headers will break portability ;) > If I include <sound/asoundef.h>, I would assume that it's something for > user-space software, not for kernel drivers. Maybe kernel headers should > be installed under /usr/include/sound/kernel if we install them at all? sound header files are not necessary except for alsa-lib and hardware specific applications like alsa-tools' ones. i think /usr/include/sound is confusing. it looks like normal header files... > The other problem is that alsa-lib should be using its own headers from > its own distribution rather than the preinstalled ones, otherwise we have > a whole new problem with compiling against an older library. right. actually i use the extracted alsa-kernel header files to build alsa-lib rpm package, too, so why not in the alsa-lib tree itself? we need only three files from alsa-kernel, namely, asound.h, asoundef.h and asequencer.h. they can be copied into alsa-lib tree, for example, under alsa-lib/include/alsa-kernel directory, which will be not copied to the public place. or, we can keep the alsa-kernel header files on /usr/include/alsa/kernel directory, so that we don't need two distinct directories which may confuse people. (even in this case, the three files above should be duplicated in alsa-lib, though.) Jaroslav, how about this? Takashi ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel