Prosody unable to find lua-unbound after Jitsi update

Hi,

Updating the Jitsi server within the last year was never an issue,
with the exception of the last two weeks,
where I finally updated our Jitsiserver after the 3rd attempt, after two failed update attempts.

I was on the versions (from October 21 2022):
ii jitsi-meet 2.0.7882-1
ii jitsi-meet-prosody 1.0.6644-1
ii jitsi-meet-turnserver 1.0.6644-1
ii jitsi-meet-web 1.0.6644-1
ii jitsi-meet-web-config 1.0.6644-1
ii jitsi-videobridge2 2.2-45-ge8b20f06-1
*ii lua-basexx 0.4.1-jitsi1 *
ii lua-cjson:amd64 2.1.0.10-jitsi1 *
Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-131-generic x86_64)

The update to the current version (per yesterday Feb 7 2023)
*ii jitsi-meet 2.0.8252-1 *
ii jitsi-meet-prosody 1.0.6943-1
ii jitsi-meet-turnserver 1.0.6943-1
ii jitsi-meet-web 1.0.6943-1
ii jitsi-meet-web-config 1.0.6943-1
ii jitsi-videobridge2 2.2-69-gad606ca2-1
*ii lua-basexx 0.4.1-jitsi1 *
ii lua-cjson:amd64 2.1.0.10-jitsi1
Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-137-generic x86_64)

The main issue was, that the Jitsi Prosody module would not install, due to failed depdancies.
Per article Self-Hosting Guide - Debian/Ubuntu server | Jitsi Meet
I added the link to the prosody repository
sudo -i
echo deb …
wget …
apt install lua5.2
(cannot post the full line because the forum only allows two links)

Then

sudo apt update
apt-get install prosody
sudo apt update

In my various tests, I found that the prosody update removed the last line
Include "conf.d/.cfg.lua"*
In the file
/etc/prosody/prosody.cfg.lua
so I readded that.
(per Info from morlac in [link removed due to 2 link posting limit] )

After this, the update to Jitsi was almost flawless

sudo apt update && sudo apt upgrade

which didn’t fail, except the error:


Prosody was unable to find lua-unbound
This package can be obtained in the following ways:

  • Debian/Ubuntu | sudo apt install lua-unbound*
  •   luarocks | luarocks install luaunbound*
    
  •     Source | [link removed due to 2 link posting limit]*
    

Old DNS resolver library will be used
More help can be found on our website, at [link removed due to 2 link posting limit]


Otherwise, there were no errors with the update.
Tested the server, video, sound, user logins work.

Now I wanted to create a new user account, which failed:

sudo prosodyctl register testuser v.test.com testpassword1234


Prosody was unable to find lua-unbound
This package can be obtained in the following ways:

  • Debian/Ubuntu | sudo apt install lua-unbound*
  •   luarocks | luarocks install luaunbound*
    
  •     Source | [link removed due to 2 link posting limit]*
    

Old DNS resolver library will be used
More help can be found on our website, at [link removed due to 2 link posting limit]


Installing lua-unbound failes When I do

sudo apt install lua-unbound

Reading package lists… Done
Building dependency tree
Reading state information… Done
Package lua-unbound is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package ‘lua-unbound’ has no installation candidate

I checked

apt list -a prosody

Listing… Done
prosody/unknown,now 0.12.2-1~focal1 amd64 [installed]
prosody/focal 0.11.4-1 amd64

Then I tried to install Prosody according to the Article
[link removed due to 2 link posting limit]
from tofu from April 2022
apt install libunbound-dev liblua5.3-dev
luarocks install luaunbound

this also fails:

apt install libunbound-dev liblua5.3-dev
[…]

luarocks install luaunbound
Installing [link removed due to 2 link posting limit] luaunbound-1.0.0-1.src.rock
gcc -O2 -fPIC -I/usr/include/lua5.2 -c lunbound.c -o lunbound.o
lunbound.c:6:10: fatal error: lualib.h: No such file or directory
*** 6 | #include <lualib.h>***
*** | ^~~~~~~~~~***
compilation terminated.
Error: Build error: Failed compiling object lunbound.o

Now I am stuck,
and do not know what to do further to fix the problem.
I’m glad that I have this production system running on a VM, so I just did a snapshot-rollback to revert the install of
apt install libunbound-dev liblua5.3-dev

Hope it is a simple issue, where I do not need to reinstall the server.
Appreciate your fix-ideas.

Try removing lua 5.3 and installing lua5.2 instead.

apt install lua5.2
apt remove lua5.3

Hi,

I just tested what happens if I downgrade the prosody to 0.11.
The installed Prosody is
apt list -a prosody
prosody/unknown,now 0.12.2-1~focal1 amd64 [installed]
prosody/focal 0.11.4-1 amd64

sudo apt install prosody-0.11
After downgrade, I can create a user account with

sudo prosodyctl register testuser testpassword1234

But since the downgrade, sound and video fail!
I did VM rollback to restore the original state, so that existing users can still use Jitsi (with account creation currently not possible).

The results are the same, if the ‘/etc/prosody/prosody.cfg.lua’ is overwritten during the downgrade (or not).
If the file is overwritten (y), then one has to re add Include "conf.d/.cfg.lua"*
to the end of the ‘/etc/prosody/prosody.cfg.lua’

Hi Freddy,
Original system already has lua5.2 installed (installing 5.3 was test)

AFAIK the current stable Jitsi doesn’t need lua-unbound

What is the output for

apt show jitsi-meet-prosody
apt show prosody
dpkg -l "prosody*"

Some additional Information can be found here Jitsi Meet 2.0.8044 update dependency issues?

Here you go (better readable):

-------------------------------------------------------------------
 apt show jitsi-meet-prosody

Package: jitsi-meet-prosody
Version: 1.0.6943-1
Priority: extra
Section: net
Source: jitsi-meet-web
Maintainer: Jitsi Team [removed link due to 2 link posting limit]
Installed-Size: 397 kB
Depends: openssl, prosody (>= 0.11.7) | prosody-trunk | prosody-0.12 | prosody-0.11, lua-sec, lua-basexx, lua-luaossl, lua-cjson, lua-inspect
Replaces: jitsi-meet-tokens
Homepage: [removed link due to 2 link posting limit]
Download-Size: 71.3 kB
APT-Manual-Installed: no
APT-Sources: https://download.jitsi.org stable/ Packages
Description: Prosody configuration for Jitsi Meet
 Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
 Videobridge to provide high quality, scalable video conferences.
 .
 It is a web interface to Jitsi Videobridge for audio and video
 forwarding and relaying.
 .
 This package contains configuration for Prosody to be used with
 Jitsi Meet.

N: There are 61 additional records. Please use the '-a' switch to see them.
-------------------------------------------------------------------

 apt show prosody

Package: prosody
Version: 0.12.2-1~focal1
Priority: optional
Section: net
Maintainer: Matthew James Wild [removed link due to 2 link posting limit]
Installed-Size: 2,957 kB
Provides: prosody, prosody-xmpp-server, xmpp-server
Depends: adduser, lsb-base, lua5.4 | lua5.3 | lua5.2 | lua5.1, lua-expat, lua-filesystem, lua-sec, lua-socket, openssl, procps, ssl-cert, libc6 (>= 2.25), libicu66 (>= 66.1-1~), libssl1.1 (>= 1.1.0)
Recommends: ca-certificates, lua-readline, lua-unbound, luarocks
Suggests: lua-bitop | lua-bit32, lua-dbi-mysql, lua-dbi-postgresql, lua-dbi-sqlite3, lua-event, lua-ldap
Conflicts: prosody, prosody-modules (<< 0.0~hg20170719.cd828b1cb5b9+dfsg-2), prosody-xmpp-server
Replaces: prosody, prosody-xmpp-server
Homepage: [removed link due to 2 link posting limit]
Download-Size: 400 kB
APT-Manual-Installed: yes
APT-Sources: http://packages.prosody.im/debian focal/main amd64 Packages
Description: Lightweight Jabber/XMPP server
 Prosody IM is a simple-to-use XMPP server. It is designed to be easy to
 extend via plugins, and light on resources.

N: There is 1 additional record. Please use the '-a' switch to see it
-------------------------------------------------------------------

dpkg -l "prosody*"

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version         Architecture Description
+++-===================-===============-============-=================================
ii  prosody             0.12.2-1~focal1 amd64        Lightweight Jabber/XMPP server
un  prosody-0.11        <none>          <none>       (no description available)
un  prosody-0.12        <none>          <none>       (no description available)
un  prosody-modules     <none>          <none>       (no description available)
un  prosody-trunk       <none>          <none>       (no description available)
un  prosody-xmpp-server <none>          <none>       (no description available)

It seems that lua-unbound dependency comes from “prosody 0.12.2-1~focal1”. Since this package is in the recommends list, you may try to install prosody using the following commands

apt-get install ca-certificates lua-readline luarocks
apt-get install prosody --no-install-recommends

Hi Emrah,

Another dependancy is blocking the reinstall of prosody:

apt-get install ca-certificates lua-readline luarocks

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package lua-readline is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'lua-readline' has no installation candidate

When I check
https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=lua-readline&searchon=names
Packages exist for 22.04.LTS, 22.10 ,
but not for 20.04.5 LTS which I have installed.

I got this message at login:
New release ‘22.04.1 LTS’ available.
Run ‘do-release-upgrade’ to upgrade to it.

Would it make sense to upgrade (will Jitsi and it’s packages cope with 22.04.01LTS), making the lua-readline package available ?
I will test.

You may try without lua-readline

apt-get install ca-certificates luarocks
apt-get install prosody --no-install-recommends

that does not work.

I did a copy of the VM to a different system and ran an upgrade from
Ubuntu 20.04.5 LTS to 22.04.1 LTS.

Then, I was able to do the

sudo apt install lua-unbound

as discribed in the error message

**************************
Prosody was unable to find lua-unbound
This package can be obtained in the following ways:

  Debian/Ubuntu | sudo apt install lua-unbound
       luarocks | luarocks install luaunbound
         Source | https://www.zash.se/luaunbound.html

Old DNS resolver library will be used
More help can be found on our website, at https://prosody.im/doc/depends
**************************

Was then able to create a user with
sudo prosodyctl register test123 b.test.com test123

I just do not know if Jitsi will still work on this test system, as there were many files that the upgrade wanted to overwrite (always answerd with no)

Seems to be that lua-unbound is not available for 20.04.5 LTS,
the easiest fix will maybe be to get the package manually installed somehow from the 22.04.1 LTS disto onto the 20.04.5 LTS server.

I have now fixed the issue
(though it would have been nice to know, how one can install lua-unbound under 20.04.1 LTS)

I updated from
Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-137-generic x86_64)
to
Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-60-generic x86_64)
via the command

do-release-upgrade

During upgrade, said NO to overwriting the files
/etc/systemd/system.conf
/etc/turnserver.conf
/etc/ssh/sshd_config

and was then able to install

sudo apt install lua-unbound

Now I can create useraccounts via

sudo prosodyctl register testtest x.test.com testtest

and have a working Jitsi server with
jitsi-meet 2.0.8252-1, jitsi-meet-prosody 1.0.6943-1, etc.

What I do not understand:
After I added the Prosody package repository from here

to the Ubuntu 20.04 server, it would install prosody 12, pointing to imcompatbile (missing) depandancies, making user creation with prosody impossible (for me).
With out the repository entry (and associated update), updating Jitsi would fail.
When I downgraded to prosody 11, I was able to create user accounts but video/sound failed on the Jitsi server.

There is definitly something wrong with the jitsi update setup, when the server is still on 20.04.

Hi,

I have the same problem.
My actual system ist:
Ubuntu 20.04. LTS
jitsi-meet 2.0.7882-1
jitsi-meet-prosody 1.0.6644-1
jitsi-meet-turnserver 1.0.6943-1
jitsi-meet-web 1.0.6644-1
jitsi-meet-web-config 1.0.6644-1
jitsi-videobridge2 2.2-45-ge8b20f06-1
lua-basexx 0.4.1-jitsi1
lua-cjson:amd64 2.1.0.10-jitsi1
lua5.2 5.2.4-1.1build3

After i installied this packages i could update jitsi:
apt-get install ca-certificates luarocks
apt-get install prosody --no-install-recommends
apt upgrade

But by install jitsi - update i got the error like jmann:

Prosody was unable to find lua-unbound

This package can be obtained in the following ways:

  • Debian/Ubuntu | sudo apt install lua-unbound*

modulemanager error Unable to load module ‘roster_command’: /usr/lib/prosody/modules/share/lua/5.2/mod_roster_command/mod_roster_command.lua: No such file or directory
Failed to load module ‘roster_command’: /usr/lib/prosody/modules/share/lua/5.2/mod_roster_command/mod_roster_command.lua: No such file or directory
dpkg: Fehler beim Bearbeiten des Paketes jitsi-meet-prosody (–configure):

  • »installiertes jitsi-meet-prosody-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 1 zurück*

Is there a workaround to solve the update problem with Ubuntu 20.02?

Thank you very much.

Regards,
Wolfgang

Did you have plugins folder setup in the prosody config when you were updating?

in this file /etc/prosody/conf.d/xxxxxxxxxxxx.de.cfg.lua is the plugin-path:
image

/etc/prosody/prosody.cfg.lua
Include “conf.d/*.cfg.lua”

Thank you for your help.

Regards,
Wolfgang

I suggest switching to ubuntu22, as ubuntu20 will be EOL in April I believe.
Did you check out my hint to another topic in this forum a few entries above this one?

ubuntu 20.04 EOL is April 2025. Therefore it’s to early to upgrade.
Which hint do you mean?

Is there no solution for this problem?

I have to praise jitsi by the way.
We are using jitsi since 3 years. The system runs stable and we had never problems with updates. This is the first update problem.

I gave up and switched to ubuntu22 and debian11.

Are you sure this is failed?
Did you check /var/lib/prosody/v%2etest%2ecom/accounts/?