OSMC(Raspbmc)RaspberryPiにlogitechmediaserver
7.8.0をインストールしようとしています。私は主に ここ の指示に従いましたが、一部のインストールは機能しませんでした(一部の依存関係がリポジトリから欠落しており、パッチが失敗しました)。
とにかく、Sudo service logitechmediaserver start
でサーバーを再起動し、http://<pi_local_ip>:9000
に接続してテストしようとしたところまで来ました。これは失敗したので、Sudo service logitechmediaserver stop
でサービスを停止し、実行可能ファイルを手動で呼び出してトラブルシューティングを試みました。
$ Sudo /usr/sbin/squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat
HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
不足しているライブラリをapt-get install
でインストールしようとしましたが、ほとんど役に立ちませんでした。
libdbi-Perl
libev-Perl
libxml-parser-Perl
は機能します!libhtml-parser-Perl
はすでにインストールされています。libjson-xs-Perl
libdigest-sha-Perl
yaml-xs
の下には何もないので、代わりにlibyaml-Perl
をインストールしました。libsub-name-Perl
不足しているライブラリをインストールするにはどうすればよいですか? (おそらくさらにトラブルシューティングできるようにするためです。)
Perl独自のパッケージマネージャーは、Perlライブラリをインストールする最も簡単な方法です。残念ながら、これはディストリビューションに統合されていないため、安定版リリース、セキュリティ更新、Perl以外のコンポーネントの依存関係の追跡など、ディストリビューションのパッケージ管理のメリットを享受できません。したがって、これはディストリビューションに存在しないモジュールにのみ使用することをお勧めします。
Perlのパッケージマネージャーは、 同じ名前のWebサイト の後にCPAN
と呼ばれます。 CPANと対話するには、
Perl -MCPAN -eshell
セットアップ手順に従います。システムで使用する場合は、/usr/local/lib/site_Perl
またはシステムにリストされているものの下にインストールします。
Perl -e '$\=$,="\n"; print grep m!^/usr/local!, @INC'
モジュールをインストールするには、不足しているモジュールごとにinstall
コマンドを使用します。これにより、依存関係もインストールされます。例えば。
cpan[4]> install YAML::XS
ディストリビューションを介してインストールされたモジュールがあるが(たとえば、libdbi-Perl
を介してDBI
)、プログラムが「ロードに失敗した」と報告した場合、それはプログラムのバグになります。より新しいバージョンが必要な場合もあれば、モジュールの検索パスを台無しにしている場合もあります。
あなたが引用する 指示 はかなり厄介であり、willは、ファイルを変更するように指示するため、後で問題を引き起こすことに注意してください。パッケージマネージャーによって維持されます。絶対に行わないでください。アップグレード時に変更内容が失われます。代わりに、いくつかのシステムファイルにパッチを適用する必要がある場合は、パッチを適用したコピーをどこかに置き、カスタムディレクトリからモジュールをロードするようにプログラムに指示します。
mkdir -p /usr/local/lib/lms/Perl/Slim
cp /usr/share/Perl5/Slim/bootstrap.pm /usr/local/lib/lms/Perl/Slim
patch /usr/local/lib/lms/Perl/Slim/bootstrap.pm lms-rpi-bootstrap.patch
logitechmediaserver
サービスの起動スクリプトを編集して、Perl5LIB
環境変数を/usr/local/lib/lms/Perl
に設定します。