32

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.

5 Answers 5

34

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:

rm /etc/apt/sources.list.d/focal-security.list
11
  • 6
    Isn't it unsafe to add the entire security repo for a different Ubuntu version? May 1 at 2:57
  • 1
    I've found no alternative at the moment. Anyway, because of the same concern I immediately deleted the repo entry after I installed the needed package...
    – Javier
    May 9 at 16:38
  • 2
    @TheTanic Just comment or delete the repo line in etc/apt/sources.list.
    – Javier
    Jun 2 at 13:10
  • 3
    In my installation the repository "does not have a Release file.", and disables it.
    – JMCampos
    Aug 11 at 8:25
  • 2
    Note the Impish repositories seem to be unavailable at the moment: you can just revert back to using Focal Fossa's: echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list You could use any other release that hasn't reached its EOL (i.e. End Of Life) as seen here
    – Collado
    Sep 5 at 9:05
17
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
2
14

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.

4

@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
1
  • 1
    libssl1.1_1.1.1l-1ubuntu1_amd64.deb is 404 Not Found but libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb worked for me and it's from 20.04 (Focal) which is the current officially supported MongoDB version.
    – Bart
    Jul 27 at 21:55
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

Not the answer you're looking for? Browse other questions tagged or ask your own question.