Oct 27, 2019
apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その3:0.21 インストール)
ここでは「mpd 0.21.16」のインストール手順を記載する。つまり、現時点での最新バージョンだ。
これは下記エントリーから続く。
apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その1:準備)
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20191027a.htm
準備が出来たところで、mpdインストールを開始。
v0.21.16インストールの備忘録。
コマンドを時系列で羅列。
sudo ntpclient -s -c 1 -h ntp.nict.jp wget https://www.musicpd.org/download/mpd/0.21/mpd-0.21.16.tar.xz xz -dv mpd-0.21* tar -xf mpd-0.21* cd mpd-0.21* mkdir ../mpd
まず、ntpクライアントを動かして、時刻を現在に合わせる。
これをしていないと、コンパイル作業自体が途中で停止する。
続いて、mpdのソースをダウンロードして展開。
ディレクトリを移動し、ホームにmpdディレクトリを作って、そこにインストールする。
ここはv0.20以前と同じ。
meson . ../mpd --buildtype=debugoptimized -Db_ndebug=true ninja -C ../mpd sudo ninja -C ../mpd install Installing mpd to /usr/local/bin Installing /home/tc/mpd-0.21.16/mpd.svg to /usr/local/share/icons/hicolor/scalable/apps Installing /home/tc/mpd-0.21.16/AUTHORS to /usr/local/share/doc/mpd Installing /home/tc/mpd-0.21.16/COPYING to /usr/local/share/doc/mpd Installing /home/tc/mpd-0.21.16/NEWS to /usr/local/share/doc/mpd Installing /home/tc/mpd-0.21.16/README.md to /usr/local/share/doc/mpd
v0.20以前は、./configure、makeでインストールしていた。
v0.21は、meson、ninjaを使う。
こんなん初めて使う。
上記のコマンドは、ダウンロードしたmpdソースの「user.rst」ファイルに記載してある、そのまんまである。
mesonは、必要な環境さえできていれば順調に進む。
ninjaも、順調に進むかに見える。
何処に何をインストールしてます、と最後に表示される。
v0.20以前のmakeだったら、tcホームディレクトリに作った「mpd」ディレクトリにmpdがインストールされて、その「mpd」ディレクトリをtczファイルに加工してoptionalに保存したらよかった。つまり、tczファイルに加工できる形に、makeがインストールしてくれていたのだ。
しかし、ninjaはそうはいかないことが分かった。ninjaの場合、上記に表示されたインストール場所にファイルが、一時的に、インストールされるだけ。「mpd」ディレクトリはインストールに使われる場所だけど、これをtczファイルに加工してoptionalディレクトリに移しても、今までどおりには動いてくれない。というか、mpdが起動しない。起動しない以前に「そんなコマンドはない」と蹴られる。
つまり、従来どおりのやり方ではインストールしたはずのものが消えてしまう、ということだ。
そこで、下記のような操作を行う。
cd mkdir mpdx mkdir mpdx/usr mkdir mpdx/usr/local mkdir mpdx/usr/local/bin cp /usr/local/bin/mpd mpdx/usr/local/bin
ninjaによるインストール終了後、cdでtcホームディレクトリに移動。
ここで「mpdx」ディレクトリを作る。
つまり、これをtczファイルを作る元のディレクトリにするのだ。
何処に何がインストールされたのかは、ninjaが最後に表示している。
/usr/local/bin にmpd、/usr/local/share以下に書類とアイコンらしきもの。
ということで、「mpdx」ディレクトリ内に/usr以下の階層構造を構築、実際の構造を「mpdx」内にコピーする。
/usr/local/share以下にインストールされたものは、mpdの動作には関係ない資料で、捨ててしまっても問題ない。
だから、/usr/local/bin/mpd だけ、~/mpdx/usr/local/binにコピーする。
mksquashfs mpdx mpd-0.21.16.tcz md5sum mpd-0.21.16.tcz > mpd-0.21.16.tcz.md5.txt sudo mv *tcz* /mnt/*1/tce/optional sudo vi /mnt/*1/tce/onboot.lst (write : mpd-0.21.16.tcz)
mksquashfsコマンドで、mpdxディレクトリをtczファイルに加工する。tczファイルからmd5.txtファイルを作る。
これらを、optionalディレクトリに移動。
更に、onboot.lstを開き、一番下に「mpd-0.21.16.tcz」と記載。
これで、インストール完了、、、、
この手法は、v0.20以前のインストールでmakeが作る「mpd」ディレクトリの構造を確認して、思い付いた。うまくいくかどうかは分からなかったけど、やってみたら上手くいった。
早々、追記。こうしたやり方についてどこかに書いてないかというので確認した。
http://tinycorelinux.net/book.html
Tiny Coreのサイトから、解説pdfがダウンロードできる。
このファイルの85ページにtczの構造について記述がある。
間違ったやり方ではなかったということで安心した。予め読んでおけということなんだろうけど、英文でなかなか読めない。
vi .mpdconf music_directory "/mnt/music" playlist_directory "~/.mpd/playlists" db_file "~/.mpd/database" log_file "~/.mpd/log" pid_file "~/.mpd/pid" state_file "~/.mpd/state" sticker_file "~/.mpd/sticker.sql" auto_update "no" #auto_update_depth "3" mixer_type "software" # optional audio_output { type "alsa" name "My ALSA Device" device "hw:0,0" # optional # mixer_type "software" } filesystem_charset "UTF-8" resampler { plugin "libsamplerate" type "Fastest Sinc Interpolator" } audio_output_format "705600:32:2" mkdir .mpd mkdir .mpd/playlists sudo rm -rf mpd* filetool.sh -b sudo reboot
あとは、mpdの設定。内容は各自必要な感じで。
「samplerate_converter」の項目はなくなって、代わりに「resampler」の設定が追加になっている。これは使い方に注意が必要。
https://www.musicpd.org/doc/html/plugins.html#resampler-plugins
こちらmpdのサイトに設定法が書いてあるが、なんだか分かりにくい。
libsamplerateの場合、「type」で"Fastest Sinc Interpolator"等の設定をするようになっている。
設定ファイルに合わせて、必要なディレクトリを作成。
インストールに使って、いらなくなったファイルをまとめて削除。
設定保存のコマンド「filetool.sh -b」を打って、OSをリブート。
以上でmpd 0.21.16インストール終了。
meson、ninjaにはだいぶてこずったけど、なんとかなった。
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.