Armadilloフォーラム

asoundlib.hが無い? make時のエラーについて

hondah

2017年5月30日 10時53分

いつもお世話になっております。

http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…
こちらの手順書に従い、イメージファイルを作成しているのですがasoundlib.hが無いというエラーが発生しております。
ダウンロードしてきたAtmark-dist 20160927.tar.gzにはそのようなファイルは含まれていないのですが、どこか別の場所からダウンロードする必要があるのでしょうか。

エラー個所
(手順書の7.1 (9) ビルド)

エラー内容
make時のエラーとしては下記の通り(全文は添付ファイルとしてアップロードしております)
make[2]: ディレクトリ `/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils' に入ります
arm-linux-gnueabi-gcc -O2 -I/usr/arm-linux-gnueabi/include -I/usr/lib/gcc/arm-linux-gnueabi/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabi/4.6//include-fixed -I/usr/arm-linux-gnueabi/include -I/usr/lib/gcc/arm-linux-gnueabi/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabi/4.6//include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark/asp410/atmark-dist-20160927/include -Wall -fno-common -I/home/atmark/asp410/atmark-dist-20160927 -I/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils/alsa-utils/include -c -o aplay.o alsa-utils/aplay/aplay.c
alsa-utils/aplay/aplay.c:41:28: fatal error: alsa/asoundlib.h: そのようなファイルやディレクトリはありません
compilation terminated.
make[2]: *** [aplay.o] エラー 1
make[2]: ディレクトリ `/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/atmark/asp410/atmark-dist-20160927/user' から出ます
make: *** [subdirs] エラー 1

環境
ATDE 5 v20161130(i386)
Atmark-dist 20160927
 Armadillo440のvendorファイルをコピーして使用

ファイル ファイルの説明
make_out.txt
コメント

ビルドにはATDE5を使っているでしょうか?

asoundlib.h は AtmarkDist ではなく、ビルドしているlinuxの
ルートファイルシステム内(/usr/arm-linux-gnueabi以下)から供給されます。

もし、PCにご自身でインストールしたlinux環境ででビルドしていたり、
ATDE5で下記クロスパッケージを何らかの理由でアンインストールして
いた場合は次の手順でインストールしなおしてください。

手順:

[ATDE] ~$ sudo apt-get update
[ATDE] ~$ sudo apt-get install libasound2-dev-armel-cross 

> ビルドにはATDE5を使っているでしょうか?
>
> asoundlib.h は AtmarkDist ではなく、ビルドしているlinuxの
> ルートファイルシステム内(/usr/arm-linux-gnueabi以下)から供給されます。
>
> もし、PCにご自身でインストールしたlinux環境ででビルドしていたり、
> ATDE5で下記クロスパッケージを何らかの理由でアンインストールして
> いた場合は次の手順でインストールしなおしてください。
>
> 手順:
>

> [ATDE] ~$ sudo apt-get update
> [ATDE] ~$ sudo apt-get install libasound2-dev-armel-cross 
> 

ご返信ありがとうございます。

返信に失敗しておりました。

ライブラリについては追加はしているのですが、削除はしておりません。
libasound2-dev-armel-cross も同様にインストール済みでした。
念のため
sudo apt-get update
sudo apt-get remove libasound2-dev-armel-cross
sudo apt-get install libasound2-dev-armel-cross
実施後make cleanして再度makeしましたが同じところでエラーとなります。

少し気になったのが、
atmarkdist上では/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils/alsa-utils/aplay/に必要成っていますが、
ATDE 上では/usr/arm-linux-gnueabi/include/alsa/asoundlib.hが存在しています。
ディレクトリ構造が微妙に違うようなのですが・・・。

> > ビルドにはATDE5を使っているでしょうか?
> >
> > asoundlib.h は AtmarkDist ではなく、ビルドしているlinuxの
> > ルートファイルシステム内(/usr/arm-linux-gnueabi以下)から供給されます。
> >
> > もし、PCにご自身でインストールしたlinux環境ででビルドしていたり、
> > ATDE5で下記クロスパッケージを何らかの理由でアンインストールして
> > いた場合は次の手順でインストールしなおしてください。
> >
> > 手順:
> >

> > [ATDE] ~$ sudo apt-get update
> > [ATDE] ~$ sudo apt-get install libasound2-dev-armel-cross 
> > 

再ビルド後、エラーの内容が異なっていましたので、添付いたします。

make[2]: ディレクトリ `/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils' に入ります
arm-linux-gnueabi-gcc -O2 -I/usr/arm-linux-gnueabi/include -I/usr/lib/gcc/arm-linux-gnueabi/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabi/4.6//include-fixed -I/usr/arm-linux-gnueabi/include -I/usr/lib/gcc/arm-linux-gnueabi/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabi/4.6//include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark/asp410/atmark-dist-20160927/include -Wall -fno-common -I/home/atmark/asp410/atmark-dist-20160927 -I/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils/alsa-utils/include -c -o aplay.o alsa-utils/aplay/aplay.c
alsa-utils/aplay/aplay.c: In function ‘set_params’:
alsa-utils/aplay/aplay.c:977:2: warning: ‘snd_pcm_sw_params_get_xfer_align’ is deprecated (declared at /usr/arm-linux-gnueabi/include/alsa/pcm.h:1136) [-Wdeprecated-declarations]
alsa-utils/aplay/aplay.c:984:2: warning: ‘snd_pcm_sw_params_set_sleep_min’ is deprecated (declared at /usr/arm-linux-gnueabi/include/alsa/pcm.h:1137) [-Wdeprecated-declarations]
alsa-utils/aplay/aplay.c:1012:2: warning: ‘snd_pcm_sw_params_set_xfer_align’ is deprecated (declared at /usr/arm-linux-gnueabi/include/alsa/pcm.h:1135) [-Wdeprecated-declarations]
alsa-utils/aplay/aplay.c: In function ‘voc_play’:
alsa-utils/aplay/aplay.c:1480:9: warning: variable ‘silence’ set but not used [-Wunused-but-set-variable]
/tmp/cc9jorBD.s: Assembler messages:
/tmp/cc9jorBD.s:1960: Error: bad instruction `bswapl r1'
make[2]: *** [aplay.o] エラー 1
make[2]: ディレクトリ `/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/atmark/asp410/atmark-dist-20160927/user' から出ます
make: *** [subdirs] エラー 1

> ご返信ありがとうございます。
>
> 返信に失敗しておりました。
>
> ライブラリについては追加はしているのですが、削除はしておりません。
> libasound2-dev-armel-cross も同様にインストール済みでした。
> 念のため
> sudo apt-get update
> sudo apt-get remove libasound2-dev-armel-cross
> sudo apt-get install libasound2-dev-armel-cross
> 実施後make cleanして再度makeしましたが同じところでエラーとなります。
>
> 少し気になったのが、
> atmarkdist上では/home/atmark/asp410/atmark-dist-20160927/user/alsa-utils/alsa-utils/aplay/に必要成っていますが、
> ATDE 上では/usr/arm-linux-gnueabi/include/alsa/asoundlib.hが存在しています。
> ディレクトリ構造が微妙に違うようなのですが・・・。
>
>
> > > ビルドにはATDE5を使っているでしょうか?
> > >
> > > asoundlib.h は AtmarkDist ではなく、ビルドしているlinuxの
> > > ルートファイルシステム内(/usr/arm-linux-gnueabi以下)から供給されます。
> > >
> > > もし、PCにご自身でインストールしたlinux環境ででビルドしていたり、
> > > ATDE5で下記クロスパッケージを何らかの理由でアンインストールして
> > > いた場合は次の手順でインストールしなおしてください。
> > >
> > > 手順:
> > >

> > > [ATDE] ~$ sudo apt-get update
> > > [ATDE] ~$ sudo apt-get install libasound2-dev-armel-cross 
> > > 
ファイル ファイルの説明
out3.txt

/usr/arm-linux-gnueabi/includeが色々と壊れておりました。
ATDEから作り直したところうまくいきました。
at_ohsawa 様ありがとうございました。