Software & AppsOperating SystemLinux

How To Fix “Version CURL_OPENSSL_3 not found” Error in Ubuntu 18.04

Ubuntu 1

In this guide, we will be discussing how to fix the “Version CURL_OPENSSL_3 not found” error in Ubuntu 18.04. This error is commonly encountered after an upgrade from Ubuntu 16.04 to 18.04.

Understanding the Error

The error “version `CURL_OPENSSL_3′ not found” is typically caused by a conflict between different versions of the libcurl library. This library is used by many applications for transferring data with URLs, and it’s a critical component of many Linux systems.

Solution 1: Installing ruby-curb

The first solution we’ll explore involves installing the ruby-curb package. This package is a Ruby interface for the libcurl library.

Step 1: Open your terminal and run the following command:

sudo apt install ruby-curb

This command installs the ruby-curb package. The sudo command is used to run the operation with root privileges, apt is the package handling utility in Ubuntu, and install is the command that installs a new package.

Step 2: Once the installation is complete, try starting your Puma server. The error should be resolved.

Solution 2: Reverting to libcurl3

If the first solution doesn’t work, you can try reverting to libcurl3.

Step 1: Remove the libcurl4 package by running the following command:

sudo apt-get remove libcurl4

This command removes the libcurl4 package from your system.

Step 2: Install the libcurl3 package. You can download it from the official Ubuntu packages website here. Follow the instructions on the website to install libcurl3.

Step 3: You may also need to install libssl1.0.0. You can download it from here.

Solution 3: Rebuilding the gem

If neither of the above solutions work, you can try rebuilding the gem.

Step 1: Run the following command:

bundle exec gem pristine patron

This command rebuilds the patron gem. If you’re using curb instead of patron, replace patron with curb in the command.

Step 2: Install the libcurl4-gnutls-dev package by running the following command:

sudo apt install libcurl4-gnutls-dev

This command installs the libcurl4-gnutls-dev package, which is a development version of the libcurl library that uses the GnuTLS library for SSL and TLS support.

Step 3: Run bundle install to rebuild the gem.

bundle install

This command installs all the gems specified in your Gemfile, including any dependencies.

Conclusion

In this guide, we’ve discussed three potential solutions to the “Version CURL_OPENSSL_3 not found” error in Ubuntu 18.04. We hope one of these solutions works for you. Remember to test your system after each step to see if the error is resolved. If you continue to experience issues, consider reaching out to the Ubuntu community or a professional for further assistance.

What is the purpose of the libcurl library?

The libcurl library is used by many applications for transferring data with URLs. It provides functionality for making HTTP requests, handling different protocols, and managing SSL/TLS encryption.

Why am I encountering the “Version CURL_OPENSSL_3 not found” error?

This error typically occurs due to a conflict between different versions of the libcurl library. It may occur after upgrading from Ubuntu 16.04 to 18.04, where the newer version of Ubuntu uses libcurl4 while some applications still rely on libcurl3.

How does installing ruby-curb resolve the error?

Installing the ruby-curb package provides a Ruby interface for the libcurl library. It ensures that the necessary version of libcurl is available and compatible with your Ruby applications, resolving the "Version CURL_OPENSSL_3 not found" error.

What does reverting to libcurl3 involve?

Reverting to libcurl3 involves removing the libcurl4 package and installing the libcurl3 package. This allows your system to use the older version of libcurl that is required by some applications, potentially resolving the error.

Where can I download the libcurl3 package?

You can download the libcurl3 package from the official Ubuntu packages website here. Follow the instructions on the website to install it.

Do I need to install libssl1.0.0 as well?

Yes, in some cases, you may need to install libssl1.0.0 along with libcurl3. You can download it from here.

How do I rebuild the gem?

To rebuild the gem, use the command bundle exec gem pristine patron if you’re using the patron gem. If you’re using curb instead, replace patron with curb in the command. Make sure to also install the libcurl4-gnutls-dev package and run bundle install to complete the rebuilding process.

What is the purpose of the libcurl4-gnutls-dev package?

The libcurl4-gnutls-dev package is a development version of the libcurl library that uses the GnuTLS library for SSL and TLS support. It is required for rebuilding the gem and ensuring proper SSL/TLS functionality.

Leave a Comment

Your email address will not be published. Required fields are marked *