有个问题,
学 coursera 课程上的一门课时需要用到一个软件 ChucK,该软件没有发布 Linux 下二进制版本,需要从源码编译安装,ChucK 依赖 bison, lex, yacc 包,源里有类似的:
sudo zypper install bison flex byacc
然后 make:
jiaxing@suse:~/code/chuck-1.3.2.0/src> make
[chuck build]: please use one of the following configurations:
make linux-alsa, make linux-jack, make linux-oss,
make osx, make osx-ub, or make win32
jiaxing@suse:~/code/chuck-1.3.2.0/src> make linux-alsa
flex -ochuck.yy.c chuck.lex
gcc -O3 -D__LINUX_ALSA__ -O3 -fno-strict-aliasing -D__CK_SNDFILE_NATIVE__ -c chuck.yy.c -o chuck.yy.o
gcc -O3 -D__LINUX_ALSA__ -O3 -fno-strict-aliasing -D__CK_SNDFILE_NATIVE__ -c util_math.c -o util_math.o
gcc -O3 -D__LINUX_ALSA__ -O3 -fno-strict-aliasing -D__CK_SNDFILE_NATIVE__ -c util_network.c -o util_network.o
... ...
紧接着,编译过程中报错:
... ...
g++ -O3 -D__LINUX_ALSA__ -O3 -fno-strict-aliasing -D__CK_SNDFILE_NATIVE__ -c hidio_sdl.cpp -o hidio_sdl.o
g++ -O3 -D__LINUX_ALSA__ -O3 -fno-strict-aliasing -D__CK_SNDFILE_NATIVE__ -c midiio_rtmidi.cpp -o midiio_rtmidi.o
g++ -O3 -D__LINUX_ALSA__ -O3 -fno-strict-aliasing -D__CK_SNDFILE_NATIVE__ -c RtAudio/RtAudio.cpp -o RtAudio/RtAudio.o
RtAudio/RtAudio.cpp:5283:28: fatal error: alsa/asoundlib.h: 没有那个文件或目录
compilation terminated.
make: *** [RtAudio/RtAudio.o] 错误 1
自行 Google ” alsa/asoundlib.h “ 发现别人在编译很多其它与音频有关的软件时也有类似的错误,大部分说是缺少一个库没有安装,就是这个 ” libasound2-dev “ ,另外,当检查与 ” asound “ 相关的包时,发现只有 ” libasound2 “ 有安装,并不存在之前说的那个包(这个在别的发行版有的如 ubnutu,redhat):
jiaxing@suse:~/code/chuck-1.3.2.0/src> zypper se asound
正在加载软件源数据...
正在读取已安装的软件包...
S | 名称 | 摘要 | 类型
--+------------------+-------------------------------------------+-------
i | libasound2 | Advanced Linux Sound Architecture Library | 软件包
| libasound2-32bit | Advanced Linux Sound Architecture Library | 软件包
不清楚在 openSUSE 下具体是哪个库提供了 alsa/asoundlib.h 这个头文件,所以编译安装也一直卡在这儿。。
关于 ChucK 是什么,可以在 这儿 ](http://chuck.stanford.edu/release/) 了解到详情。
关于 coursera 上的那门课程: Introduction to Programming for Musicians and Digital Artists ,我是看了课程简介,觉得挺有意思的才选的,有兴趣的也可以一同学习,周一才开的课,这周之内选还赶得上作业。。