Deps on lua-inspect breaks installation on Ubuntu 18

I was testing the installation of the latest unstable (7768) on Ubuntu 18.04 and saw the following failures:

The following packages have unmet dependencies:
jitsi-meet-prosody : Depends: lua-inspect but it is not installable

It looks like lua-inspect was a recently added dependency.

Alas lua-inspect apt package is not currently available in the official ubuntu repo for Bionic Beaver (18.04) and only for newer Ubuntu versions.

Am I missing something? Or have we inadvertently dropped support for Ubuntu 18?

Well … there were several modules already dependent on inspect but we did not have that dependency and as we add it to one more module I added the dependency.

And when testing deb packages we use 20.04 and 22.04 …
Not sure what is the best path here … as 18.04 is 4.5years old now …
We either say its not supported or we drop the usage and dependency… Or we can add some ‘| dummy-package’ to the dependency list for a workaround…
WDYT?

That makes sense. Better to make that dependency explicit than have it fail later.

Ubuntu 18 is indeed old, but it is still under LTS release so still officially supported. Although it won’t be long now before it reaches 5 yr and goes from LTS to ESM.

Considering dep packages are only tested on 20.04 and 22.04, I think it is safer to say that only those versions are officially supported. We can post workarounds on community for those than still want to use Ubuntu 18, but this will be best-effort and not guaranteed to work forever?

P.S. I’m currently installing inspect using luarocks and faking the apt deps using equivs, but | dummy-package approach might be easier if more people face this issue.

Any package to propose? libc maybe?

I don’t see a libc package but there’s libc-bin.

That said, I’m afraid I don’t have a much experience with maintaining apt packages so I don’t fully understand the implications of such a change. I will leave it to your good judgement and experience to decide :slight_smile: .

If you chose to leave it as is, I can post an alternative workaround (after I’ve done some testing with it).

Yeah I need to test it … will not happen today :slight_smile:

We have a small warning about 18.04 in Self-Hosting Guide - Debian/Ubuntu server | Jitsi Meet

1 Like

On a barely related topic – I’ve noticed we also introduced a new debconf option for “jitsi-meet/jaas-choice”. Do we need to update the command in DevOps Guide (scalable setup) | Jitsi Meet to account for that?

Yeah, that will be nice.

I’ll send a PR later today.

For the record, I stumbled on another issue with installing on Ubuntu 18 – jicofo install was failing with error:

invoke-rc.d: syntax error: unknown option “–skip-systemd-native”

From my limited understanding, it looks like something (perhaps one of the debhelper scripts?) was calling invoke-rc.d with the --skip-systemd-native argument which does not exist in the Ubuntu 18 version but OK on newer versions.

This was unexpected since installs on Ubuntu 18 used to work without a hitch.

Anyway, I’ve managed to workaround this by using a backported version of init-system-helpers before installing jitsi-meet. Example:

sudo bash -c 'cat > /etc/apt/preferences.d/init-system-helpers' << EOF
Package: init-system-helpers
Pin: release a=bionic-backports
Pin-Priority: 500
EOF
sudo apt-get update
sudo apt-get install -y init-system-helpers

Ah so 18.04 anyway is not working … so I say, let’s move on :slight_smile: you already have some workarounds posted here

Indeed. It used to but now it is not.

If anyone else need to get it running on Ubuntu 18.04, these are the workarounds I needed to use.

  1. Use backported version of init-system-helpers to resolve invoke-rc.d issue:

  2. Install inspect using luarocks instead and create a dummy package to satisfy apt dependencies:

    # manually install lua inspect
    sudo luarocks install inspect
    
    # Use equivs to create a dummy package to stand in for lua-inspect
    sudo apt-get install -y equivs
    sudo bash -c 'cat > lua-inspect-dummy-template' << EOF 
    Section: misc
    Priority: optional
    Standards-Version: 3.9.2
    
    Package: lua-inspect-dummy
    Version: 0.0.1
    Provides: lua-inspect
    Architecture: all
    Description: Fake version of lua-inspect since not available for Ubuntu 18
    EOF
    
    sudo equivs-build lua-inspect-dummy-template # this creates lua-inspect-dummy_0.0.1_all.deb
    sudo dpkg -i lua-inspect-dummy_0.0.1_all.deb
    
    # now install jitsi-meet as usual
    
3 Likes

I wonder if it makes sense to continue supporting 18.04 at this point; it seems like it’s not generically compatible with the last few versions of Jitsi without additional patchwork.

3 Likes

I’m with you on that :slight_smile:

1 Like

I successfully used @shawn 's workarounds.

I had to “sudo apt install luarocks” first, and there is a misplaced fullstop in “lua-inspect-dummy-template.”.

But so far it looks good. I will work on making a newer Ubuntu image for my environment, but this will do for now.

I am doing new installation of jitsi setup on my system. Information about my system is as follows:

Operating System: Ubuntu 18.04.2 LTS
Kernel: Linux 4.15.0-46-generic
Architecture: x86-64
RAM : 12 GB

prosody version: 0.12.2-1~bionic1
node version: v16.18.0
npm version: 8.19.2

as you suggested in the documentation (Ubuntu 18.04 can be used, but the Prosody version must be updated to 0.11+ before installation)

so I did that but still, I am facing the following error on installing jitsi meet:

Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
jitsi-meet : Depends: jitsi-meet-prosody (= 1.0.6854-1) but it is not going to be installed
Recommends: jitsi-meet-turnserver (= 1.0.6854-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

the output of “sudo apt-get install -y luarocks” gives following error:

Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
luarocks : Depends: liblua5.1-dev or
liblua5.2-dev but it is not going to be installed or
liblua5.3-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Hi @damencho, as you suggested the solution I follow the instructions but they need more dependencies one after another. can you please suggest to me any solution for these unmet dependencies?

I am attaching screenshots of my implementation: