2016-03-24 11 views
2

ich versuche, alsa-util-1.1.0 für eine arm-linux-plattform zu erstellen, durch trial and error konnte ich alsa-lib und alsa-util ok mit diesen kompilieren Befehle:alsa-util 1.1.0 arm cross kompilieren ausgabe

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

Dies zu diesem Handbuch ist sehr ähnlich: Alsa audio cross compile and use

Die Zusammenstellung scheint in Ordnung und die make install bringt alles in die richtigen Ordner. Ich kopiere dann alle Libs und Bins auf meine Ziele rootfs und versuchen arecord -l

Der Ausgang des arecord auszuführen ist:

**** 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

Es ist offensichtlich etwas falsch mit meiner configure-Optionen, aber ich kann keine andere sehen Weg sie zu ändern ... irgendwelche Ideen ???

Ich muss für mein Arm-Linux-Ziel cross-kompilieren und auf das rootfs des Ziels installieren, aber alle Pfade relativ zu root des rootfs haben und nicht das Präfix, das nur zum Aufbau verwendet werden sollte.

Für Informationen: Ich benutze die --with-udev-rules-dir= und --with-asound-state-dir= Optionen, weil sonst die Installation versuchen wird, Dateien in meine Build-Maschinen-Verzeichnisse zu kopieren.

Antwort

1

--prefix muss der Pfad sein, wie auf dem Ziel Gerät angezeigt.

Um die Dateien in einen anderen Pfad auf dem Host , zu installieren DESTDIR verwenden:

make install DESTDIR=/home/me/whatever 
+1

Thank you so viel - das hat super funktioniert. Als Referenz benutzte ich einen vereinfachten Konfigurations-String für alsa-lib und alsa-utils. CC = arm-linux-gnueabihf-gcc ./configure --host = arm-linux --disable-python CC = Arm- linux-gnueabihf-gcc ./configure --ziel = arm-linux --host = arm-linux - mit-alsa-inc-prefix =/home/benutzername/20160311_alsa_work/alsa/install/usr/include --mit- alsa-prefix =/home/benutzername/20160311_alsa_work/alsa/install/usr/lib --disable-alsamixer --disable-xmlto --disable-nls --disable-bat' Für beide habe ich 'make install DESTDIR =/home/Benutzername/20160311_alsa_work/alsa/install' –