ejabberd 18.03 на Raspberry Pi 2, ejabberdctl не работает из-за отсутствия libtinfo.so.6

452
dognodding

Я пытаюсь заставить ejabberd работать на Raspberry Pi 2 с помощью бинарного установщика Linux ARMv7 от ProcessOne здесь: 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/

а также с «классическим» образом Ubuntu 16.04 LTS для Pi здесь: https://wiki.ubuntu.com/ARM/RaspberryPi

(Я также попытался после apt-get dist-upgradeс образом Ubuntu, чтобы добраться до 16.04.4).

Наконец, я также установил ejabberd v18.01, но происходит то же самое.

Я не хочу использовать версии ejabberd, упакованные с Raspbian или Ubuntu, так как они старые и не поддерживают функции XMPP, которые я хочу использовать. Я попробовал упакованную версию Ubuntu на своем компьютере Intel, и после многих трудностей перешел на двоичный установщик для 64-разрядного двоичного установщика x86 из ProcessOne, чтобы получить версию 18.01 (теперь обновленную до версии 18.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, похоже, не нужен.

Может ли кто-нибудь помочь мне в этом? Я искал способ обновления libtinfo на RPi, но не нашел, как это сделать. Или я могу убедить ejabberdctl работать с libtinfo.so.5?

Спасибо заранее, если у кого-нибудь есть какие-либо советы.

0

1 ответ на вопрос

0
dognodding

Если у кого-то есть тот же вопрос, есть два решения:

  1. Ждите ejabberd v18.04 - https://github.com/processone/ejabberd/issues/2381
  2. Используйте Fedora 27 на Pi вместо Raspbian или Ubuntu 16.04. Fedora 27 содержит libtinfo.so.6 из коробки