Raspberry Pi 2 上の ejabberd 18.03 では、libtinfo.so.6 がないため ejabberdctl が失敗する

Raspberry Pi 2 上の ejabberd 18.03 では、libtinfo.so.6 がないため ejabberdctl が失敗する

私は ProcessOne の Linux ARMv7 バイナリ インストーラーを使用して、Raspberry Pi 2 で ejabberd を動作させようとしています。 https://www.process-one.net/en/ejabberd/downloads/

インストール後、ユーザーを追加したり、ejabberd を起動/停止しようとすると、ejabberdctl が次のエラーで失敗します。

/opt/ejabberd-18.03/bin/beam.smp: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory

すると、sudo find / -name 'libtinfo.so*' | more次の出力が得られます。

/usr/lib/arm-linux-gnueabihf/libtinfo.so
/lib/arm-linux-gnueabihf/libtinfo.so.5.9
/lib/arm-linux-gnueabihf/libtinfo.so.5

つまり、libtinfo.so.6 はシステム上に存在しないようですが、ejabberd (または少なくとも ejabberdctl) には必要です。

私は最新の Raspbian Stretch Lite イメージでこれを試しました:https://www.raspberrypi.org/downloads/raspbian/

また、Pi 用の Ubuntu 16.04 LTS「クラシック」イメージもここにあります: https://wiki.ubuntu.com/ARM/RaspberryPi

apt-get dist-upgrade( Ubuntu イメージを使用して 16.04.4 にアップグレードすることも試みました)。

最後に、ejabberd v18.01 もインストールしましたが、同じことが起こります。

Raspbian または Ubuntu にパッケージされている ejabberd バージョンは古く、使用したい XMPP 機能をサポートしていないため、使用したくありません。Intel マシンでパッケージ化された Ubuntu バージョンを試し、苦労した後、ProcessOne の 64 ビット x86 バイナリ インストーラーに移行して、完璧に動作する v18.01 (現在は v18.03 にアップグレード済み) を入手しました。

sudo find / -name 'libtinfo.so*' | more奇妙なことに、 Intel システム (ejabberd は問題なく動作します) で同じことを実行すると、出力は次のようになります。

/opt/ejabberd-18.03/lib/linux-x86_64/libtinfo.so.5
/lib/x86_64-linux-gnu/libtinfo.so.5.9
/lib/x86_64-linux-gnu/libtinfo.so.5

つまり、動作中の x86_64 システムでは、libtinfo.so.6 は必要ないようです。

どなたか、この件について手伝っていただけますか? RPi で libtinfo を更新する方法を探しましたが、方法が見つかりません。または、ejabberdctl が libtinfo.so.5 で動作するようにするために何かできることはありますか?

何かヒントがあれば、よろしくお願いします。

答え1

誰かが同じ疑問を抱いている場合、解決策は 2 つあります。

  1. ejabberd v18.04を待つ -https://github.com/processone/ejabberd/issues/2381
  2. RaspbianやUbuntu 16.04の代わりに、PiでFedora 27を使用してください。Fedora 27にはlibtinfo.so.6が標準で含まれています。

関連情報