dlopen: libcrypt.so.1: cannot open shared object file: No such file or directory

Question:

I use EndeavourOS and have updated my system on February 17 2022 using

sudo pacman -Syu

Eversince, when I run docker-compose, I get this error message:

[4221] Error loading Python lib ‘/tmp/_MEIgGJQGW/libpython3.7m.so.1.0’: dlopen: libcrypt.so.1: cannot open shared object file: No such file or directory

Some forum threads suggested to reinstall docker-compose, which I did. I tried the following solution, but both without success:

Python3.7: error while loading shared libraries: libpython3.7m.so.1.0

How can I resolve this issue?

Asked By: T_Torture

||

Answers:

I found several forum posts explaining to isntall libxcrypt-compat from AUR. I did not like this solution, but apparently, this is the way for now: https://bbs.archlinux.org/viewtopic.php?id=274160&p=2

If there is a PGP key error when building the package from AUR, use this workaround as explained by Stock44 on this page: https://aur.archlinux.org/packages/libxcrypt-compat

$ gpg --keyserver keyserver.ubuntu.com --recv-key 678CE3FEE430311596DB8C16F52E98007594C21D

Posted on behalf of the question asker

Answered By: Dharman

Same thing happened to me today, this is what I did to fix it (Arcolinux 5.16.10-arch1-1)

Removed docker-compose

$ sudo rm -r /usr/local/bin/docker-compose

Reinstalled it using pip (was not working with the curl method)

$ sudo pip install docker-compose
Answered By: dam0ne

I use Arch Linux and it worked for me:

 # cd /usr/lib
 # sudo ln ./libcrypt.so libcrypt.so.1
 # docker-compose -v

 docker-compose version 1.29.2, build 5becea4c
Answered By: Lindomar

Install libxcrypt-compat from pacman (Official Repositories)

Answered By: long-blade

The underlying issue here is that you use docker-compose instead of docker compose, which are two different binaries. docker-compose is also known as V1, and is deprecated since April 26, 2022. Since then, it does not receive updates or patches, other than high-severity security patches.

So, to fix your issue, use docker compose instead of docker-compose. If you compare docker compose version and docker-compose version, you will see that this uses the newer docker compose and runs without an issue.

Answered By: thraizz
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.