salt: _raw_desmodule.so: cannot open shared object file: No such file or directory

Description of Issue/Question

salt-master won’t start:

Jun 13 22:03:49 salt salt-master[627]: salt-master: error: Failed to load configuration: Cannot load native module 'Cryptodome.Cipher._raw_des': Trying '_raw_des.so': cannot load library /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_des.so: /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_des.so: undefined symbol: des_ecb_decrypt, Trying '_raw_desmodule.so': cannot load library /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_desmodule.so: /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_desmodule.so: cannot open shared object file: No such file or directory

Setup

Salt-Master on CentOS 7, salt-2018.3.1. Been running fine for months, but seems something has recently changed and broked salt-master (guessing an update?).

Versions Report

Unfortunately, won’t run.

[root@salt ~]# salt --versions-report
Traceback (most recent call last):
  File "/bin/salt", line 10, in <module>
    salt_main()
  File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 480, in salt_main
    import salt.cli.salt
  File "/usr/lib/python2.7/site-packages/salt/cli/salt.py", line 10, in <module>
    import salt.utils.job
  File "/usr/lib/python2.7/site-packages/salt/utils/job.py", line 11, in <module>
    import salt.minion
  File "/usr/lib/python2.7/site-packages/salt/minion.py", line 75, in <module>
    import salt.client
  File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 31, in <module>
    import salt.cache
  File "/usr/lib/python2.7/site-packages/salt/cache/__init__.py", line 16, in <module>
    from salt.payload import Serial
  File "/usr/lib/python2.7/site-packages/salt/payload.py", line 17, in <module>
    import salt.crypt
  File "/usr/lib/python2.7/site-packages/salt/crypt.py", line 40, in <module>
    from Cryptodome.PublicKey import RSA
  File "/usr/lib64/python2.7/site-packages/Cryptodome/PublicKey/RSA.py", line 38, in <module>
    from Cryptodome.IO import PKCS8, PEM
  File "/usr/lib64/python2.7/site-packages/Cryptodome/IO/PKCS8.py", line 44, in <module>
    from Cryptodome.IO._PBES import PBES1, PBES2, PbesError
  File "/usr/lib64/python2.7/site-packages/Cryptodome/IO/_PBES.py", line 44, in <module>
    from Cryptodome.Cipher import DES, ARC2, DES3, AES
  File "/usr/lib64/python2.7/site-packages/Cryptodome/Cipher/DES.py", line 57, in <module>
    """)
  File "/usr/lib64/python2.7/site-packages/Cryptodome/Util/_raw_api.py", line 191, in load_pycryptodome_raw_lib
    raise OSError("Cannot load native module '%s': %s" % (name, ", ".join(attempts)))
OSError: Cannot load native module 'Cryptodome.Cipher._raw_des': Trying '_raw_des.so': cannot load library /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_des.so: /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_des.so: undefined symbol: des_ecb_decrypt, Trying '_raw_desmodule.so': cannot load library /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_desmodule.so: /usr/lib64/python2.7/site-packages/Cryptodome/Util/../Cipher/_raw_desmodule.so: cannot open shared object file: No such file or directory

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 2
  • Comments: 16 (8 by maintainers)

Most upvoted comments

Same problem here. A faster way to revert back to the old python2-pycryptodomex version:

yum downgrade https://repo.saltstack.com/yum/redhat/7/x86_64/2016.11/python2-pycryptodomex-3.4.3-2.el7.x86_64.rpm

Thanks for fixing the issue. However, this is about the third time in the last two years (since we started using Salt) that an update was completely broken and rendered everything unusable. This makes we wonder about how and whether you are doing QA? RHEL/CentOS seems to be a widely used OS on servers where salt makes sense therefore I would expect this combination to be thoroughly tested. Which doesn’t seem to be the case, though.