LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1129|回复: 10

有没有哪位大侠在2.4.20内核下编译alsa0.9.0通过的?

[复制链接]
发表于 2003-2-17 08:20:54 | 显示全部楼层 |阅读模式
为什么我编译时总是说

root:/usr/src/alsa-driver-0.9.0rc7# make
if [ ! -d include/sound -a ! -L include/sound ]; then \
  ln -sf ../alsa-kernel/include include/sound ; \
fi
cp -auvf include/version.h include/sound/version.h
`include/version.h' -> `include/sound/version.h'
make dep
make[1]: Entering directory `/usr/src/alsa-driver-0.9.0rc7'
make[2]: Entering directory `/usr/src/alsa-driver-0.9.0rc7/acore'
make  -C ioctl32 fastdep
make[3]: Entering directory `/usr/src/alsa-driver-0.9.0rc7/acore/ioctl32'
gcc -M -D__KERNEL__ -DMODULE=1 -I/usr/src/alsa-driver-0.9.0rc7/include  -I/usr/src/linux-2.4.20//include -O2  -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe -DALSA_BUILD  hwdep32.c ioctl32.c pcm32.c rawmidi32.c seq32.c timer32.c > .depend
In file included from /usr/src/linux-2.4.20/include/linux/vmalloc.h:4,
                 from /usr/src/linux-2.4.20/include/asm/io.h:47,
                 from /usr/src/alsa-driver-0.9.0rc7/include/adriver.h:115,
                 from /usr/src/alsa-driver-0.9.0rc7/include/sound/driver.h:43,
                 from ../../alsa-kernel/core/ioctl32/hwdep32.c:21,
                 from hwdep32.c:2:
/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0
In file included from /usr/src/linux-2.4.20/include/linux/vmalloc.h:4,
                 from /usr/src/linux-2.4.20/include/asm/io.h:47,
                 from /usr/src/alsa-driver-0.9.0rc7/include/adriver.h:115,
                 from /usr/src/alsa-driver-0.9.0rc7/include/sound/driver.h:43,
                 from ../../alsa-kernel/core/ioctl32/ioctl32.c:21,
                 from ioctl32.c:2:
/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0
In file included from /usr/src/linux-2.4.20/include/linux/vmalloc.h:4,
                 from /usr/src/linux-2.4.20/include/asm/io.h:47,
                 from /usr/src/alsa-driver-0.9.0rc7/include/adriver.h:115,
                 from /usr/src/alsa-driver-0.9.0rc7/include/sound/driver.h:43,
                 from ../../alsa-kernel/core/ioctl32/pcm32.c:21,
                 from pcm32.c:2:
/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0
In file included from /usr/src/linux-2.4.20/include/linux/vmalloc.h:4,
                 from /usr/src/linux-2.4.20/include/asm/io.h:47,
                 from /usr/src/alsa-driver-0.9.0rc7/include/adriver.h:115,
                 from /usr/src/alsa-driver-0.9.0rc7/include/sound/driver.h:43,
                 from ../../alsa-kernel/core/ioctl32/rawmidi32.c:21,
                 from rawmidi32.c:2:
/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0
In file included from /usr/src/linux-2.4.20/include/linux/vmalloc.h:4,
                 from /usr/src/linux-2.4.20/include/asm/io.h:47,
                 from /usr/src/alsa-driver-0.9.0rc7/include/adriver.h:115,
                 from /usr/src/alsa-driver-0.9.0rc7/include/sound/driver.h:43,
                 from ../../alsa-kernel/core/ioctl32/seq32.c:21,
                 from seq32.c:2:
/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0
In file included from /usr/src/linux-2.4.20/include/linux/vmalloc.h:4,
                 from /usr/src/linux-2.4.20/include/asm/io.h:47,
                 from /usr/src/alsa-driver-0.9.0rc7/include/adriver.h:115,
                 from /usr/src/alsa-driver-0.9.0rc7/include/sound/driver.h:43,
                 from ../../alsa-kernel/core/ioctl32/timer32.c:21,
                 from timer32.c:2:
/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0
make[3]: *** [fastdep] Error 1
make[3]: Leaving directory `/usr/src/alsa-driver-0.9.0rc7/acore/ioctl32'
make[2]: *** [_sfdep_ioctl32] Error 2
make[2]: Leaving directory `/usr/src/alsa-driver-0.9.0rc7/acore'
make[1]: *** [dep] Error 1
make[1]: Leaving directory `/usr/src/alsa-driver-0.9.0rc7'
make: *** [include/sndversions.h] Error 2
发表于 2003-2-17 23:11:20 | 显示全部楼层
这是我的编译命令:
rm include/linux/isapnp.h &&
./configure \
--with-moddir=/lib/modules/2.4.20/kernel/drivers/sound/ \
--with-kernel=/usr/src/linux-2.4.19 \
--with-sequencer=yes \
--with-oss=yes \
--with-isapnp=no \
--with-cards=cmi8330 &&
make &&
make install
你前面的编译命令是如何写的?应该和我的差不多才对。只是在内核和声卡和你的不一样的。在BLFS中的详细的说明,要按照BLFS的说明书做。
 楼主| 发表于 2003-2-18 01:03:28 | 显示全部楼层
我是按照BLFS说明书做的啊!

他的出错信息应该是 "/usr/src/linux-2.4.20/include/linux/sched.h:946:36: macro "need_resched" passed 1 arguments, but takes just 0"吧?

是不是说 sched.h中定义了宏need_resched是没有参数的, 但是调用的时候却给了一个参数呢? 我打开2.4.20内核里的sched.h:
static inline int need_resched(void)
{
        return (unlikely(current->need_resched));
}

extern void __cond_resched(void);
static inline void cond_resched(void)
{
        if (need_resched())
                __cond_resched();
}
根据它的定义和调用来看, 确实是没有参数的. alsa里面有没有用参数我找不到.

2.4.19里面的sched.h里根本就没有这个函数,不知道在哪里.
发表于 2003-2-18 09:18:54 | 显示全部楼层
看看config.h是不是定义了什么与内核有关的宏。
发表于 2003-2-18 10:02:21 | 显示全部楼层
我觉得没有必要怀疑源码吧
 楼主| 发表于 2003-2-18 10:17:10 | 显示全部楼层
不一定哦, 上次我装那个什么东东(忘记是什么了)
的时候, 就是把源码里头的两个';'删掉才编译成功的.

当然我不知道具体原因, 但是症状就是这样子
发表于 2003-2-18 10:25:30 | 显示全部楼层
哦,这个是可能的。因为不同版本的编译器对语法的要求不一样。一般的说换一个bison的版本就号。

seraph你们那里雪下的怎么样?我挖了一下午雪。才把车开出来。
发表于 2003-2-18 10:27:36 | 显示全部楼层
再说alsa的,据说它的速度比较好,但是你的机器应该不在乎吧。内核里面支持oss,就很不错。我没有编译alsa,直接内嵌oss,声卡就工作很好了。
 楼主| 发表于 2003-2-18 13:56:30 | 显示全部楼层
我的声卡是Via8235带的AC97,ALC650的Codec。试过很多不同
的驱动,象RH和Mandrake不同版本带的驱动等等,好像只有
alsa 0.9.0rc5以上的可以比较好的支持。后来我曾经搞定过
一次,不知道什么原因,大概是因为我重新编译过内核。可是
后来因为KDELibs搞不定,我把整个LFS恢复到当初命令行的状
态了。痛苦,又要重装。现在正在装XF86。对了,刚刚又碰到
那个问题,X的xkbparse.y(好像是这个文件)里面要删除两个
";"。的确是bison干的。

我这边的雪也好大,学校今天明天都close了。还有几个朋友开
车出去,结果在路上车陷到雪里出不来了。
发表于 2003-2-18 14:24:38 | 显示全部楼层
你看我的声卡就是ac97,oss在内核编译的时候有意个ac97的支持。我这里支持的非常好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表