[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:40403] Re: Kernel2.4.26でALSAがコンパイルできない



 こんにちは、光地と申します。

make-kpkg modules_image したときのエラーが出るのはこの部分です。

gcc -DALSA_BUILD -D__KERNEL__ -DMODULE=1 -I/usr/src/linux-2.4.26/include -I/usr/src/modules/alsa-driver/include -O2 -mpreferred-stack-boundary=2 -march=i686 -D__SMP__ -DCONFIG_SMP -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe   -c -o info.o info.c
In file included from ../alsa-kernel/core/info.c:32,
                 from info.c:1:
/usr/src/linux-2.4.26/include/linux/proc_fs.h:213: redefinition of `PDE'
/usr/src/modules/alsa-driver/include/adriver.h:106: `PDE' previously defined here

で、調べてみると、kernelのバージョンが2.4.23以降でproc_fs.hに
PDEという関数を定義づける記述が加わったようです。
で、素人考えでは、これを回避するのには
alsa-source0.9+0beta12-3のalsa-driver/include/adriver.hの

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 5)
static inline struct proc_dir_entry *PDE(const struct inode *inode)
{
        return (struct proc_dir_entry *) inode->u.generic_ip;
}
#endif

という部分のバージョン判定を書き換えればよいだろう、と。
でも、それってadhocな手段だし、他にも同じ環境の人はいると思うので、
普通はどうなのかな?という質問なのです。