MongoDB won't install on Debian

Description

MongoDB will not install on current version of Debian Stretch. Below is the error I get when I try the install:

root@rocketchat:/etc/default# apt-get install mongodb-org
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:
mongodb-org : Depends: mongodb-org-server but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@rocketchat:/etc/default# apt-get install mongodb-org-server
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:
mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not installable
E: Unable to correct problems, you have held broken packages.
root@rocketchat:/etc/default#

Server Setup Information

  • Version of Rocket.Chat Server: Most current from Debian install instructions
  • Operating System: Debian Linux
  • Deployment Method: Followed install instructions on website
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version:
  • MongoDB Version:
  • Proxy:
  • Firewalls involved:

Any additional Information

apt-get purge
apt-get update
apt-get upgrade

mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not installable

apt-get install curl → which version does it install?

1 Like

Debian’s latest version 10 ‘Buster’ installs libcurl4 library. MongoDB depends on libcurl3 which Buster does not have.

Any progress on this? Debian 10 (buster) has libcurl4 coexisting with libcurl3-gnutls and libcurl3-nss. It seems that we would just need to recompile mongodb-org against one of those or against libcurl4.

ii libcurl3-gnutls:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libcurl3-nss:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (NSS flavour)
ii libcurl4:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)

I checked on MongoDB’s website and even their development version is still using libcurl3. I have not tried to recompile the database as I would not have confidence in doing that. I have temporarily solved the problem by installing the specific ‘stretch’ version of Debian. However, this is not ideal because this is not their most current stable version.

2 Likes

Yeah have done a bit of Googling around. Looks like a common problem. Probably worth finding the appropriate mongo jira ticket and upvoting or what ever the equivalent is there.

This is definitely a mongodb problem.

Looks like we might should warn against buster for now

For people who came to this page, the issue fortunately has been resolved since MongoDB 4.2.1 (released Oct 21, 2019):