7

I use Arch Linux (x86_64)

I updated my repositories today with the following command

Sudo Packman -Syu

But the xampp program no longer runs

Stopping all servers...
Restarting all servers...
Starting MySQL Database...

Starting Apache Web Server...
Exit code: 8
Stdout:
apache config test fails, aborting
Stderr:

/opt/lampp/bin/httpd: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

Starting ProFTPD...
Exit code: 8
Stdout:
proftpd config test fails, aborting
Stderr:

/opt/lampp/sbin/proftpd: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

After a bit of checking I found that the libcrypt.so.1 file exists

Output the command locate libcrypt.so.1

[ahmadreza@ahmadreza-sys ~]$ locate libcrypt.so.1
/usr/lib/libcrypt.so.1

The version of the files is as follows:

[root@ahmadreza-sys lib]# file libcrypto.so.1*
libcrypto.so.1.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4c926b672d97886b123e03a008387aecf0786de4, stripped
[root@ahmadreza-sys lib]# 

output command sudo ldconfig -v | grep libcrypt

[ahmadreza@ahmadreza-sys ~]$ sudo ldconfig -v | grep libcrypt
ldconfig: Path `/usr/lib64' given more than once
(from <builtin>:0 and <builtin>:0)
ldconfig: Can't stat /usr/libx32: No such file or directory
    libcrypt.so.2 -> libcrypt.so.2.0.0
    libcrypto.so.1.1 -> libcrypto.so.1.1
    libcryptsetup.so.12 -> libcryptsetup.so.12.7.0
[ahmadreza@ahmadreza-sys ~]$ 

cammand outout file /opt/lampp/bin/httpd

[ahmadreza@ahmadreza-sys ~]$ file /opt/lampp/bin/httpd 
/opt/lampp/bin/httpd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=00effd3a02918135bf3106612c2b59866e4f92fe, stripped
[ahmadreza@ahmadreza-sys ~]$ 

How can I fix it?

ahmadreza1383
  • 109
  • 1
  • 1
  • 11
  • Is `/usr/lib/libcrypt.so.1` 32 or 64 bit? It's probable that it should also point to /usr/lib/libcrypt.so.1.1 or similar. – Bib Feb 15 '22 at 14:56
  • How do I know if it is 64-bit or 32-bit? @Bib – ahmadreza1383 Feb 15 '22 at 14:58
  • Run `file /usr/lib/libcrypt.so.1*`. – Bib Feb 15 '22 at 15:00
  • I added in the text @Bib – ahmadreza1383 Feb 15 '22 at 15:08
  • You have libcrypto.so.1.1, but no libcrypto.so.1. There should be a symlink between those. The `locate` result suggests it should exist, but doesn't. Try running ldconfig, and if it still does not exist, then create a symlink yourself, `ln -s libcrypto.so.1.1 libcrypto.so.1``. – Bib Feb 15 '22 at 15:12
  • I did what I did and made a link from the file, but the error remains ```lrwxrwxrwx 1 root root 16 Feb 15 18:43 libcrypto.so.1 -> libcrypto.so.1.1``` – ahmadreza1383 Feb 15 '22 at 15:23
  • Either `/opt/lampp/bin/httpd` is 32 bit, or the `libcrypt.so.1.1` file has been built incorrecly. You did run `ldconfig`? You can also check with `ldconfig -v`. – Bib Feb 15 '22 at 15:25
  • Yes I did .... I added the output in the text above @Bib – ahmadreza1383 Feb 15 '22 at 15:31
  • 1
    Ugh, libcrypt != libcrypto. As you can see you have libcrypt.so.2, not libcrypt.so.1. If that has just been updated, then I would assume all binaries requiring libcrypt.so.1, should also be updated. You may have to install the old libcrypt.so.1 package. – Bib Feb 15 '22 at 15:39
  • Did some digging. libcrypt.so.2 comes from libxcrypt And it looks like a lot of basic tools from pam to ppp can depend on it. So you want whatever option lets you have both old and new versions installed simultaneously. – davolfman Feb 16 '22 at 02:02

3 Answers3

17

I had the same error, solved by installing this package "libxcrypt-compat". It is not in pacman, install via AUR.

yay -S libxcrypt-compat
Jeff Schaller
  • 66,199
  • 35
  • 114
  • 250
arsenpa
  • 186
  • 1
  • 2
  • I can not believe it .... It worked ..... Thank you very much for helping me ... I check you as the best answer – ahmadreza1383 Feb 16 '22 at 07:55
  • libxcrypt-compat became a split package only 8 days after you posted this solution. New solution is `yay -Syu lib32-libxcrypt-compat` – Matt Zabojnik Apr 06 '22 at 20:31
3

after 24th february libxcrypt-compat became available in arch linux core, so it can be installed using pacman

sudo pacman -Syu libxcrypt-compat

This same package has libxcrypt as a dependency, which is also in the arch core repository.

2

libxcrypt-compat is no longer in the AUR, it has become a split package as of 24 Feb 2022.

This is what you'll need now, from the AUR:

yay -Syu lib32-libxcrypt-compat

UPDATE: The package name ends with "compat" as in "compatibility" not "compact" as in "compressed." I did not misspell the package name, do not edit my post to correct what is not an error. You are spreading misinformation by doing so.

Matt Zabojnik
  • 228
  • 3
  • 16