alsa-util 1.1.0 arm交叉编译问题

时间:2016-03-24 08:30:28

标签: cross-compiling embedded-linux alsa

我正在尝试为arm-linux平台构建alsa-util-1.1.0,通过试验和错误我设法使用这些命令编译alsa-lib和alsa-util ok:

的alsa-lib的:

CC=arm-linux-gnueabihf-gcc ./configure --host=arm-linux -prefix=/home/username/20160311_alsa_work/alsa/install --disable-python

ALSA-util的:

CC=arm-linux-gnueabihf-gcc ./configure --prefix=/home/username/20160311_alsa_work/alsa/install --host=arm-linux --with-alsa-inc-prefix=/home/username/20160311_alsa_work/alsa/install/include --with-alsa-prefix=/home/username/20160311_alsa_work/alsa/install/lib --disable-alsamixer --disable-xmlto --disable-nls --disable-bat --with-udev-rules-dir=/home/username/20160311_alsa_work/alsa/install/lib/udev --with-asound-state-dir=/home/username/20160311_alsa_work/alsa/install/var/lib/alsa --disable-alsaconf

这与本指南非常相似:Alsa audio cross compile and use

编译似乎没问题,make install将所有内容放在正确的文件夹中。然后我将所有lib和bin复制到我的目标rootfs并尝试执行arecord -l

arecord的输出是:

**** List of CAPTURE Hardware Devices **** ALSA lib conf.c:3750:(snd_config_update_r) Cannot access file /home/username/20160311_alsa_work/alsa/install/share/alsa/alsa.conf ALSA lib control.c:954:(snd_ctl_open_noupdate) Invalid CTL hw:0 arecord: device_list:277: control open (0): No such file or directory

我的配置选项显然有问题,但我看不到任何其他方式来改变它们......任何想法???

我需要交叉编译我的arm-linux目标并安装到目标的rootfs,但是拥有相对于rootfs根目录的所有路径,而不是只应用于构建的前缀。

有关信息: 我使用--with-udev-rules-dir=--with-asound-state-dir=选项,否则安装将尝试将文件复制到我的构建计算机目录。

1 个答案:

答案 0 :(得分:1)

--prefix必须是目标设备上显示的路径。

要将文件安装到主机上的其他路径,请使用DESTDIR

make install DESTDIR=/home/me/whatever