FS#73799 - [glibc] 2.35-1 missing libcrypt.so.1

Attached to Project: Arch Linux
Opened by vicencb (vicencb) - Tuesday, 15 February 2022, 11:31 GMT
Last edited by freswa (frederik) - Wednesday, 16 February 2022, 09:47 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Christian Hesse (eworm)
freswa (frederik)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Commit https://github.com/archlinux/svntogit-packages/commit/f1aeeaf4a3fabd9b5f8186005066e04f1aa7c672
added the option --disable-crypt in order to remove /usr/lib/libcrypt.so.1 stating that it is unused.

I am using a closed source application (without open source alternative) that is using that library, so it fails to start:
couldn't load file "librdi_tcltasks.so": libcrypt.so.1: cannot open shared object file: No such file or directory

Please, can this be added again?
This task depends upon

Closed by  freswa (frederik)
Wednesday, 16 February 2022, 09:47 GMT
Reason for closing:  Not a bug
Comment by Allan McRae (Allan) - Tuesday, 15 February 2022, 11:49 GMT
libcrypt.so.1 should be provided as an AUR package, and not in glibc.
Comment by vicencb (vicencb) - Tuesday, 15 February 2022, 11:52 GMT
Hi again,
severity can be lowered because there is a workaround:
install libxcrypt and add link /usr/lib/libcrypt.so.1 to point to /usr/lib/libcrypt.so
I don't know if the APIs are 100% compatible, but at least the applications starts and seems functional.
Comment by vicencb (vicencb) - Tuesday, 15 February 2022, 12:03 GMT
It looks like libxcrypt is binary backwards compatible, citing the project README.md:
https://github.com/besser82/libxcrypt

"""
Compatibility Notes
On Linux-based systems, by default libxcrypt will be binary backward compatible with the libcrypt.so.1 shipped as part of the GNU C Library. This means that all existing binary executables linked against glibc’s libcrypt should work unmodified with this library’s libcrypt.so.1. We have taken pains to provide exactly the same symbol versions as were used by glibc
"""

So, adding the link /usr/lib/libcrypt.so.1 pointing to libcrypt.so looks like a proper solution.
Comment by vicencb (vicencb) - Tuesday, 15 February 2022, 12:26 GMT
I've got the PKGBUILD ready to upload to the AUR.
Please, can you confirm this is still the preferred solution?

pkgname=libcrypt
pkgver=1
pkgrel=0
pkgdesc='provides glibc libcrypt from libxcrypt'
arch=('any')
depends=('libxcrypt')
package() {
mkdir -p "${pkgdir}/usr/lib"
ln -s 'libcrypt.so' "${pkgdir}/usr/lib/libcrypt.so.1"
}
Comment by Alexander Epaneshnikov (alex19EP) - Tuesday, 15 February 2022, 12:28 GMT
> Please, can you confirm this is still the preferred solution?

no.
Comment by Alexander Epaneshnikov (alex19EP) - Tuesday, 15 February 2022, 12:30 GMT
we already have libxcrypt-compat[1] in aur.
please use that.

[1] https://aur.archlinux.org/packages/libxcrypt-compat
Comment by Alexander Epaneshnikov (alex19EP) - Tuesday, 15 February 2022, 12:53 GMT
btw you can also download it from my repo.

[alex19EP]
Server = https://pkgbuild.com/~alex19ep/repo/$arch
Comment by vicencb (vicencb) - Tuesday, 15 February 2022, 12:56 GMT
Ok, got it working, although libxcrypt-compat does not build without adding --disable-werror to the configure command.

Thank you for your support!
Comment by vicencb (vicencb) - Tuesday, 15 February 2022, 13:19 GMT
Hi @alex19EP, i've tried building your version and it also fails to build without --disable-werror.
Once build, it fails one of the checks:
*** Missing symbol versions:
crypt_gensalt@GLIBC_2.2.5
crypt_gensalt@OW_CRYPT_1.0
crypt_gensalt_ra@GLIBC_2.2.5
crypt_gensalt_ra@OW_CRYPT_1.0
crypt_gensalt_rn@GLIBC_2.2.5
crypt_gensalt_rn@OW_CRYPT_1.0
crypt_ra@GLIBC_2.2.5
crypt_rn@GLIBC_2.2.5
FAIL test/symbols-compat.pl (exit status: 1)

Is this related to your build options or should this be reported upstream?
Comment by jakob (grandchild) - Tuesday, 15 February 2022, 18:35 GMT
`libxcrypt-compat` builds fine for me from AUR.

Loading...