Page 1 of 1

Solution to missing 'libcrypt.so.1'? [Fixed]

Posted: Wed Jun 09, 2021 3:40 am
by Jafadmin

Am I missing something here? I can't find it in the repos ..


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 12:21 pm
by rockedge

What program are you attempting to run?
In Ubuntu 20.04, libcrypt.so.1 is provided by libxcrypt in the libcrypt1 package.

Search for libxcrypt in the PPM and install it


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 12:40 pm
by Jafadmin
rockedge wrote: Wed Jun 09, 2021 12:21 pm

What program are you attempting to run?
In Ubuntu 20.04, libcrypt.so.1 is provided by libxcrypt in the libcrypt1 package.

I've already tried searching for 'libcrypt1' in the Easy repos. No joy.

Isn't libcrypt.so.1 one of those libs that is supposed to be in every linux? A part of glibc?

I guess it doesn't matter since any apps written that need some variant of libcrypt are going to fail, which in turn will require the user to find a solution on their own.


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 12:44 pm
by rockedge

@Jafadmin can you search for and find libxcrypt? I am wondering if installing this will solve the dependency


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 12:53 pm
by Jafadmin
rockedge wrote: Wed Jun 09, 2021 12:44 pm

@Jafadmin can you search for and find libxcrypt? I am wondering if installing this will solve the dependency

That's already installed by default. The dep still fails.


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 1:20 pm
by Jafadmin

Ok, I figured it out. The needed libs are in '/usr/lib' as 'libcrypto.so.1.1' or 'libcrypt.so.2.0.0'

So it becomes necessary to put a 'libcrypt.so.1' link in '/lib' that points to either of those files.

Take note that the spelling of 'libcrypto.so.1.1' isn't the standard spelling. It has one too many 'o's in it.

So from the sakura terminal:

Code: Select all

# ln -s /usr/lib/libcrypt.so.2.0.0  /usr/lib/libcrypt.so.1

[Edit] That symlink should stay in '/usr/lib', I think, instead of in '/lib'.


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 1:30 pm
by Jafadmin

So now how do we make this "Easy" for the newby end user?

Just my 0.02$: It might be a good idea to have symlinks for 'libcrypt.so.1' and 'libcrypt.so.2' in '/lib' that both point to '/usr/lib/libcrypt.so.2.0.0' since it is supposed to be, and is expected to be, part of the Linux Standard Base specification.

'libcrypt.so.2' appears to be backwardly compatible according to documentation, and according to my tests ..


Re: Solution to missing 'libcrypt.so.1'?

Posted: Wed Jun 09, 2021 1:40 pm
by rockedge

I first was going to write "symlinks needed" ! I run into variants of this problem with some of the experiments I conduct and fixed many a problem with symlinking


Re: Solution to missing 'libcrypt.so.1'?

Posted: Thu Jun 10, 2021 12:30 am
by Jafadmin
rockedge wrote: Wed Jun 09, 2021 1:40 pm

I first was going to write "symlinks needed" ! I run into variants of this problem with some of the experiments I conduct and fixed many a problem with symlinking

The reason I tagged this as a workaround is that it works, but shouldn't be needed. The whole idea behind "Easy" is that the user shouldn't have to chase around after standard libs in order to install and run software they choose to install.

I'm certain this is a mere oversight. A couple symlinks in the next roll should suffice.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Thu Jun 10, 2021 1:21 am
by BarryK

@Jafadmin
What application has required this libcrypt.so.1?

EasyOS has libcrypt.so.2

All packages installable from the package manager should work. If there is one that wants libcrypt.so.1, please tell me.

If you you are trying to run a PET from elsewhere, then no guarantees it will work, it may have library incompatibilities, such as wanting an older libcrypt version.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Thu Jun 10, 2021 5:52 pm
by Jafadmin

@BarryK

'libcrypt.so.2.0.0' does indeed exist, as does the symlink to it; 'libcrypt.so.2'

No libs need be added. All that is needed is a symlink to 'libcrypt.so.2.0.0' named 'libcrypt.so.1' in /usr/lib

'libcrypt.so.2' is backwardly compatable to 'libcrypt.so.1' so this works out fine. No additional binaries needed.

I realize that 'libcrypt.so.1' is deprecated and 'libcrypt.so.2' is the update to it. However, all the software that links to the older lib name fail without the symlink to the new lib.

This occurs because I'm writing compiled/linked code on a dev box, then running the binary on Easy. Easy is the first "puppy" I've tested on that doesn't have a 'libcrypt.so.1' symlink. Even the latest Ubuntu/Mint versions have the '.1' link.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Fri Jun 11, 2021 11:13 am
by BarryK
Jafadmin wrote: Thu Jun 10, 2021 5:52 pm

@BarryK

'libcrypt.so.2.0.0' does indeed exist, as does the symlink to it; 'libcrypt.so.2'

No libs need be added. All that is needed is a symlink to 'libcrypt.so.2.0.0' named 'libcrypt.so.1' in /usr/lib

'libcrypt.so.2' is backwardly compatable to 'libcrypt.so.1' so this works out fine. No additional binaries needed.

I realize that 'libcrypt.so.1' is deprecated and 'libcrypt.so.2' is the update to it. However, all the software that links to the older lib name fail without the symlink to the new lib.

This occurs because I'm writing compiled/linked code on a dev box, then running the binary on Easy. Easy is the first "puppy" I've tested on that doesn't have a 'libcrypt.so.1' symlink. Even the latest Ubuntu/Mint versions have the '.1' link.

OK.
It is sometimes not appropriate to symlink to a later library version, as it may be incompatible. But some library developers try to keep backwards compatibility.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Fri Jun 11, 2021 3:06 pm
by Jafadmin
BarryK wrote: Fri Jun 11, 2021 11:13 am
Jafadmin wrote: Thu Jun 10, 2021 5:52 pm

@BarryK

'libcrypt.so.2.0.0' does indeed exist, as does the symlink to it; 'libcrypt.so.2'

No libs need be added. All that is needed is a symlink to 'libcrypt.so.2.0.0' named 'libcrypt.so.1' in /usr/lib

'libcrypt.so.2' is backwardly compatable to 'libcrypt.so.1' so this works out fine. No additional binaries needed.

I realize that 'libcrypt.so.1' is deprecated and 'libcrypt.so.2' is the update to it. However, all the software that links to the older lib name fail without the symlink to the new lib.

This occurs because I'm writing compiled/linked code on a dev box, then running the binary on Easy. Easy is the first "puppy" I've tested on that doesn't have a 'libcrypt.so.1' symlink. Even the latest Ubuntu/Mint versions have the '.1' link.

OK.
It is sometimes not appropriate to symlink to a later library version, as it may be incompatible. But some library developers try to keep backwards compatibility.

It is SOP in this case. This is how Debian solves it.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Sat Jun 12, 2021 9:28 am
by BarryK
Jafadmin wrote: Fri Jun 11, 2021 3:06 pm
BarryK wrote: Fri Jun 11, 2021 11:13 am
Jafadmin wrote: Thu Jun 10, 2021 5:52 pm

@BarryK

'libcrypt.so.2.0.0' does indeed exist, as does the symlink to it; 'libcrypt.so.2'

No libs need be added. All that is needed is a symlink to 'libcrypt.so.2.0.0' named 'libcrypt.so.1' in /usr/lib

'libcrypt.so.2' is backwardly compatable to 'libcrypt.so.1' so this works out fine. No additional binaries needed.

I realize that 'libcrypt.so.1' is deprecated and 'libcrypt.so.2' is the update to it. However, all the software that links to the older lib name fail without the symlink to the new lib.

This occurs because I'm writing compiled/linked code on a dev box, then running the binary on Easy. Easy is the first "puppy" I've tested on that doesn't have a 'libcrypt.so.1' symlink. Even the latest Ubuntu/Mint versions have the '.1' link.

OK.
It is sometimes not appropriate to symlink to a later library version, as it may be incompatible. But some library developers try to keep backwards compatibility.

It is SOP in this case. This is how Debian solves it.

OK, woofQ will now create this symlink.

libcrypt.so.2 is in the 'libxcrypt' package. I think that it used to be in glibc, older versions of glibc.
In woofQ, packages-templates/libxcrypt, script FIXUPHACK will create the symlink.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Sat Jun 12, 2021 9:32 am
by BarryK

Just looked at Debian packages, they have libcrypt1, so libcrypt.so.1 is NOT a symlink to libcrypt.so.2:

https://packages.debian.org/experimental/libcrypt1

However, as you report the symlink works, I will leave it in.


Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Sat Jun 12, 2021 10:02 am
by Jafadmin
BarryK wrote: Sat Jun 12, 2021 9:32 am

Just looked at Debian packages, they have libcrypt1, so libcrypt.so.1 is NOT a symlink to libcrypt.so.2:

https://packages.debian.org/experimental/libcrypt1

However, as you report the symlink works, I will leave it in.

That's interesting. I'm looking at a "clean install" VM of Debian Buster right now that has it linked to libcrypt-2.28.so
I think we have the right fix. :thumbup:

libcrypt-link.png
libcrypt-link.png (58.36 KiB) Viewed 5059 times

Re: Solution to missing 'libcrypt.so.1'? [Workaround]

Posted: Sat Jun 12, 2021 12:44 pm
by BarryK
Jafadmin wrote: Sat Jun 12, 2021 10:02 am
BarryK wrote: Sat Jun 12, 2021 9:32 am

Just looked at Debian packages, they have libcrypt1, so libcrypt.so.1 is NOT a symlink to libcrypt.so.2:

https://packages.debian.org/experimental/libcrypt1

However, as you report the symlink works, I will leave it in.

That's interesting. I'm looking at a "clean install" VM of Debian Buster right now that has it linked to libcrypt-2.28.so
I think we have the right fix. :thumbup:
libcrypt-link.png

Ah, yes, I think that glibc 2.28 (in buster I presume) has that library in it. glibc 2.30+ has removed it, and it is a separate package, libxcrypt. I was looking at the unstable debian.