0

Unable to start mongod daemon after upgrading OS from Ubuntu 16 to 18

root@dummy2:~# mongod --version
    db version v4.0.4
    git version: f288a3bdf201007f3693c58e140056adf8b04839
    OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
    allocator: tcmalloc
    modules: none
    build environment:
        distmod: ubuntu1804
        distarch: x86_64
        target_arch: x86_64


root@dummy2:~# 
cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"

root@dummy2:~# /usr/bin/mongod --config /etc/mongo/db8303/mongodb.conf &
/usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/bin/mongod) 

The difference that I'm seeing before and after OS upgrade on libcurl version:

before:

root@dummy2:~# ls -lrt /usr/lib/x86_64-linux-gnu/libcurl*
/usr/lib/x86_64-linux-gnu/libcurl.so.4 -> libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl.so.3 -> libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0

After:

root@dummy2:~# ls -lrt /usr/lib/x86_64-linux-gnu/libcurl
/usr/lib/x86_64-linux-gnu/libcurl.so.4 -> libcurl.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0

Did anyone face similar issues ? How to fix this issue ?

0

2 Answers 2

0

Support for Ubuntu 18.04 was added in Mongo 4.0.6, see https://jira.mongodb.org/browse/SERVER-37778

enter image description here

You have version 4.0.4

2
  • fresh installation on version 4.0.4 on ubuntu 18 OS server is working as expected. Is there solution for fixing libcurl openssl after upgrading OS from 16 to 18 without upgrading mongodb ? at least an explaination on why is this behvaior after the OS upgrade and what's missing and why this error when tried to start the deamon ?
    – unknown
    Commented Apr 9, 2021 at 7:52
  • I don't think libcurl is the problem. Are you sure you re-installed version 4.0.4? Or did you install 4.0 and picked 4.0.23? Commented Apr 9, 2021 at 8:54
0

I tried following different options :

Option1: with Ubuntu-16 mongo binaries (before option3 step2); if we are okay with libcurl3

1.  apt-get remove libcurl4
2.  apt-get install libcurl3
3.  able to start the daemon

Option2: didn’t work

1.  apt-get remove libcurl4
2.  apt-get install libcurl4
3.  /etc/init.d/mongo_db7020
/usr/bin/mongod: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/bin/mongod) 

Option3: copying mongodb 18 binaries worked

1.  apt-get remove libcurl4
2.  rsync -asvh mongoserver:/usr/bin/mongodb-linux-x86_64-ubuntu1804-4.0.4/bin/* /usr/bin/mongodb-linux-x86_64-ubuntu1604-4.0.4/bin
3.  apt-get install libcurl4
4.  able to start the daemon

Option 1 & 3 worked fine for me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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