alsa-util 1.1.0 arm交叉编译问题 [英] alsa-util 1.1.0 arm cross compile issue
问题描述
我试图通过试验和错误为arm-linux平台构建alsa-util-1.1.0,我设法使用以下命令编译alsa-lib和alsa-util ok:
I am trying to build alsa-util-1.1.0 for an arm-linux platform, through trial and error I managed to compile alsa-lib and alsa-util ok using these commands:
alsa-lib:
CC = arm-linux-gnueabihf-gcc ./configure --host = arm- linux -prefix = / home / username / 20160311_alsa_work / alsa / install --disable-python
alsa-util:
alsa-util:
CC = arm-linux-gnueabihf-gcc ./configure --prefix = / home / username / 20160311_alsa_work / alsa / install --host = arm-linux- -with-alsa-inc-prefix = / home /用户名/ 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音频交叉编译和使用
This is quite similar to this guide: Alsa audio cross compile and use
编译似乎还可以,并且 make install
将所有内容放入正确的文件夹中。然后,我将所有库和bin复制到目标rootfs并尝试执行 arecord -l </ code>
The compilation seems ok and the make install
puts everything in the right folders. I then copy all the libs and bins to my targets rootfs and try execute arecord -l
arecord的输出是:
The output of arecord is:
****捕获硬件设备列表****
ALSA lib conf.c:3750:(snd_config_update_r )无法访问文件/home/username/20160311_alsa_work/alsa/install/share/alsa/alsa.conf
ALSA lib control.c:954:(snd_ctl_open_noupdate)无效的CTL hw:0
记录:device_list: 277:控件打开(0):没有此类文件或目录
我的配置选项显然存在问题,但看不到其他任何内容更改它们的方法...任何想法?
There is obviously something wrong with my configure options but I cannot see any other way to change them... any ideas???
我需要为我的arm-linux目标进行交叉编译并安装到目标的rootfs,但要拥有所有路径相对于rootfs的根,而不是仅应用于构建的前缀。
I need to cross-compile for my arm-linux target and install to the target's rootfs but have all the paths relative to root of the rootfs and not the prefix which should only be used for building.
有关信息:
我使用- -with-udev-rules-dir =
和 --with-asound-state-dir =
选项,因为否则i nstall将尝试将文件复制到我的构建计算机目录中。
For info:
I use the --with-udev-rules-dir=
and --with-asound-state-dir=
options because otherwise the install will try copy files to my build machines directories.
推荐答案
-前缀
必须是在 target 设备上看到的路径。
--prefix
must be the path as seen on the target device.
要将文件安装到 host <上的其他路径中/ em>,使用 DESTDIR
:
make install DESTDIR=/home/me/whatever
这篇关于alsa-util 1.1.0 arm交叉编译问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!