13 と 13.1 のリリースの間のどこかで、XBMC をソースからコンパイルできなくなりました。バージョン 13 は、最初にリリースされたときにはコンパイルできました (Gotham ブランチから)。その後、13.1 が発表され、ベータ版や RC 版を試さないことにしました。そのため、それらのコンパイルは試みていません。最終バージョンの 13.1 がリリースされたとき、これまで毎回成功してきたのと同じ手順でコンパイルしようとしました。しかし、今回はうまくいきませんでした...
「./configure」ステップで「必要なライブラリが見つかりませんでした」というエラーが発生しています。コマンドは次のようなメッセージで終了します。
(...)
checking for TAGLIB... yes
checking for CDIO... yes
checking for LIBBLURAY... yes
checking for libbluray soname... libbluray.so.1
checking for bd_register_argb_overlay_proc in -lbluray... no
checking for library containing iconv_open... no
checking for library containing libiconv_open... no
configure: error: Could not find a required library. Please see the README for your platform.
完全なファイルは次のとおりですconfig.log
:http://pastebin.com/nGynLkX6
それが問題かどうかは分かりませんが、手動でダウンロード、コンパイル、インストールしましたlibiconv
。http://www.gnu.org/software/libiconv/しかし、それは役に立たなかったようです。
関連がある場合、新しい XBMC バージョンをコンパイルするには、常に次のコマンドを (特定の順序で) 実行します。
git clean -xfd
git reset --hard
git pull --rebase
make -C lib/taglib
sudo make -C lib/taglib install
./bootstrap
./configure --disable-debug --disable-pulse --disable-vaapi --enable-goom
make
sudo make install
ここで何が欠けているのでしょうか?
アップデート!
zlib1g をアップグレードし、configure ステップを完了することができました。ただし、make でコンパイルすると、最終的に libiconv、libiconv_open、libiconv_close への「未定義の参照」に関するエラーが発生します。何かアイデアはありますか?
答え1
の出力を確認します./configure --help
。make が不足していると表示しているライブラリの要件を無効にするための他のオプションがある可能性があります。
checking for bd_register_argb_overlay_proc in -lbluray... no
checking for library containing iconv_open... no
checking for library containing libiconv_open... no
configure: error: Could not find a required library. Please see the README for your platform.
まずこれらのいずれかを無効にして、その後コンパイルできるかどうかを確認します。
答え2
アップデートする必要がありましたzlib1g
が、今は動作しています :)
記録のために、上記のコメントで私が言ったことと、すべてを更新していない理由を以下に示します。
パッケージのアップデートが不足しているに違いありません。問題は、私が Debian Squeeze を使用していることです。このツールが機能するために必要な依存関係のほとんどは Wheezy から来ている必要があります。Wheezy からどのパッケージをアップデートすれば再び機能するかを調べる必要があります。(Wheezy をまだサポートしていない OpenMediaVault を使用しているため、Wheezy にアップグレードできません)。
make uninstall
もう 1 つの問題は、手動でダウンロードしたiconv
パッケージが他のものと競合していたため、それを実行する必要があったことです。
今、私は成功しました:)