102

Here are the standard installation instructions from the website:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo apt install -y mongodb-org
Reading package lists... Done
Building dependency tree... Done
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: mongodb-org-mongos : Depends: libssl1.1 (>= 1.1.1) but it is not installable mongodb-org-server : Depends: libssl1.1 (>= 1.1.1) but it is not installable mongodb-org-shell : Depends: libssl1.1 (>= 1.1.1) but it is not installable E: Unable to correct problems, you have held broken packages.

I tried installing the dependency directly but it doesn't seem to have fixed the issue:

sudo apt install libssl1.1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libssl1.1 is already the newest version (1.1.0g-2ubuntu4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Pilot6
  • 92,041

6 Answers6

117

Edit december 2022

MongoDB 6.0 is now installable from mongodb repositories on Jammy, without requiring libssl1.1

Original answer

MongoDb has no official build for ubuntu 22.04 at the moment.

Ubuntu 22.04 has upgraded libssl to 3 and does not propose libssl1.1

You can force the installation of libssl1.1 by adding the ubuntu 20.04 source:

echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list

sudo apt-get update sudo apt-get install libssl1.1

Then use your commands to install mongodb-org.

Then delete the focal-security list file you just created:

sudo rm /etc/apt/sources.list.d/focal-security.list
Lionep
  • 1,385
57

Ubuntu 22.04 doesn't have official MongoDB packages yet, so the best option now is to have Ubuntu 20.04, where official MongoDB packages are available.

It's NOT recommended to use any workaround in Ubuntu 22.04 to install MongoDB, because it can lead to problems if you gonna use it in production. Below is the workaround that worked for me:

  1. Download libssl1.1_1.1.1f-1ubuntu2_amd64.deb from official repository:

    wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
    
  2. Install it:

    sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
    
  3. Proceed with the installation of MongoDB:

    sudo apt-get install -y mongodb-org
    

This solution is from MongoDB Forum, but I also added a few notes to keep in mind.

Hayk
  • 683
27
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i ./libssl1.1_1.1.0g-2ubuntu4_amd64.deb
rm -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
17

the new official (and secure) fix for this is:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc |  gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg > /dev/null
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install mongodb-org

edit: source

Artur Meinild
  • 31,035
128
  • 353
5

@yehuda suggested libssl1.1_1.1.0g which does not meet the dependency criteria >=1.1.1. Expanding on that approach, I tried the below and it worked.

Based on the packages provided by ubuntu for libssl

  • bionic (18.04LTS) (libdevel): Secure Sockets Layer toolkit - development files
    • 1.1.1-1ubuntu2.1~18.04.17 [security]: amd64 i386
    • 1.1.0g-2ubuntu4 [ports]: arm64 armhf ppc64el s390x
  • bionic-updates (libdevel): Secure Sockets Layer toolkit - development files
    • 1.1.1-1ubuntu2.1~18.04.17: amd64 arm64 armhf i386 ppc64el s390x
  • focal (20.04LTS) (libdevel): Secure Sockets Layer toolkit - development files
    • 1.1.1f-1ubuntu2.13 [security]: amd64 i386
    • 1.1.1f-1ubuntu2 [ports]: arm64 armhf ppc64el s390x
  • focal-updates (libdevel): Secure Sockets Layer toolkit - development files
    • 1.1.1f-1ubuntu2.13: amd64 arm64 armhf i386 ppc64el s390x
  • impish (21.10) (libdevel): Secure Sockets Layer toolkit - development files
    • 1.1.1l-1ubuntu1.3 [security]: amd64 i386
    • 1.1.1l-1ubuntu1 [ports]: arm64 armhf ppc64el s390x
  • impish-updates (libdevel): Secure Sockets Layer toolkit - development files
    • 1.1.1l-1ubuntu1.3: amd64 arm64 armhf i386 ppc64el s390x

Download any one of these from http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/

I choose libssl1.1_1.1.1l-1ubuntu1.3_amd64.deb, since I used this previously in Impish(21.10)

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1_amd64.deb
sudo dpkg -i ./libssl1.1_1.1.1l-1ubuntu1_amd64.deb
rm -i libssl1.1_1.1.1l-1ubuntu1_amd64.deb
0

I had to install libssl-dev 1.1.1l as well as libssl1.1.1l.

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
apt get update

wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.5_amd64.deb dpkg -i libssl1.1_1.1.1l-1ubuntu1.5_amd64.deb wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl-dev_1.1.1l-1ubuntu1.5_amd64.deb dpkg -i libssl-dev_1.1.1l-1ubuntu1.5_amd64.deb

apt install -y mongodb-org

For those who are trying on Apple M1 Ubuntu vm like me, use the ARM binaries of Openssl like this:

wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.5_arm64.deb
dpkg -i libssl1.1_1.1.1l-1ubuntu1.5_arm64.deb
wget http://ports.ubuntu.com/pool/main/o/openssl/libssl-dev_1.1.1l-1ubuntu1.5_arm64.deb
dpkg -i libssl-dev_1.1.1l-1ubuntu1.5_arm64.deb