Dvc add data file not possible: “ERROR: unexpected error - [digital envelope routines: EVP_DigestInit_ex] disabled for FIPS”

Hi,

I did “pip install dvc” and did the “dvc init” and now I want to add my first file (“dvc add data.dat”).

It doesn’t work and I get the following error message:

“ERROR: unexpected error - [digital envelope routines: EVP_DigestInit_ex] disabled for FIPS”

I receive the same error message with “dvc status”.

Any ideas?

It looks like you are using Python with a FIPS enabled OpenSSL installation. DVC uses MD5 in a non-cryptographic use case (for computing file checksums) but MD5 is unavailable in FIPS enabled OpenSSL (since MD5 is insecure for cryptographic use cases).

In order to install DVC via pip you would have to switch to using a Python installation with a default (non-FIPS) OpenSSL. If this is not an option in your environment (i.e. you are limited to only installing Python with FIPS enabled OpenSSL for security or compliance reasons), you will need to use one of the DVC binary package installations instead of installing via pip.

1 Like

Thank you very much @pmrowla !

We installed on Red hat linux 8.8
dvc-3.37.0-1.x86_64.rpm
with Python 3.9.13

but got following error:

Error loading Python lib ‘/usr/lib/dvc/libpython3.10.so.1.0’: dlopen: libcrypt.so.2: cannot open shared object file: No such file or directory

can you tell us which binary we should install and which dependencies we need?

Otherwise could you give us a link for an older version which is compliant with libcrypt.so.1? That should work for us as well.

Sorry, no particular link for that that we can provide, as figuring it out is not trivial for us.

Unfortunately, you are on your own here and will have to play around to make it work in your environment.

Thanks a lot. Do you or anybody else know about where we might be able to download older versions of the binaries?

There’s a download button on https://dvc.org that links to the current binaries, and you can easily edit those URLs to find the version you want.