Я пытаюсь исправить некоторые проблемы в моей кросс-компиляции Python (32b на 64-битной системе для работы вместе с 64-битной версией), что сложнее, чем кажется.
Одна из проблем заключается в том, чтосимвол EVP_get_digestbyname
не определен в инструкции Python >>>import _hashlib
.Чтобы попытаться исправить это, я следую этому руководству, чтобы распаковать libopenssl-dev:i386
https://www.g -loaded.eu / 2008/01/28 / how-to-extract-rpm-or-deb-packages / .Я могу распаковать необходимую библиотеку и включить файлы (libopenssl-dev и зависимости).Однако ошибка неопределенного символа сохраняется.
Я запускаю nm -gC libssl.so
и получаю вывод, что в этом файле нет символов.Затем я запускаю nm -DgC libssl.so | grep EVP
, чтобы включить динамические символы в вывод.Следующий вывод показывает, что все эти символы не определены.То же самое относится и к случаю, когда я проверяю символы в моей версии x 101_64 по умолчанию libssl.so
U EVP_add_cipher
U EVP_add_digest
U EVP_aes_128_cbc
U EVP_aes_128_cbc_hmac_sha1
U EVP_aes_128_gcm
U EVP_aes_192_cbc
U EVP_aes_256_cbc
U EVP_aes_256_cbc_hmac_sha1
U EVP_aes_256_gcm
U EVP_camellia_128_cbc
U EVP_camellia_256_cbc
U EVP_Cipher
U EVP_CIPHER_block_size
U EVP_CIPHER_CTX_cipher
U EVP_CIPHER_CTX_cleanup
U EVP_CIPHER_CTX_ctrl
U EVP_CIPHER_CTX_flags
U EVP_CIPHER_CTX_free
U EVP_CIPHER_CTX_init
U EVP_CIPHER_CTX_iv_length
U EVP_CIPHER_CTX_new
U EVP_CIPHER_flags
U EVP_CipherInit_ex
U EVP_CIPHER_iv_length
U EVP_CIPHER_key_length
U EVP_DecryptFinal
U EVP_DecryptInit_ex
U EVP_DecryptUpdate
U EVP_des_cbc
U EVP_des_ede3_cbc
U EVP_Digest
U EVP_DigestFinal
U EVP_DigestFinal_ex
U EVP_DigestInit
U EVP_DigestInit_ex
U EVP_DigestSignFinal
U EVP_DigestSignInit
U EVP_DigestUpdate
U EVP_dss1
U EVP_ecdsa
U EVP_enc_null
U EVP_EncryptFinal
U EVP_EncryptInit_ex
U EVP_EncryptUpdate
U EVP_get_cipherbyname
U EVP_get_digestbyname
U EVP_md5
U EVP_MD_CTX_cleanup
U EVP_MD_CTX_copy
U EVP_MD_CTX_copy_ex
U EVP_MD_CTX_create
U EVP_MD_CTX_destroy
U EVP_MD_CTX_init
U EVP_MD_CTX_md
U EVP_MD_CTX_set_flags
U EVP_MD_size
U EVP_MD_type
U EVP_PKEY_asn1_find_str
U EVP_PKEY_asn1_get0_info
U EVP_PKEY_assign
U EVP_PKEY_bits
U EVP_PKEY_copy_parameters
U EVP_PKEY_CTX_ctrl
U EVP_PKEY_CTX_free
U EVP_PKEY_CTX_new
U EVP_PKEY_decrypt
U EVP_PKEY_decrypt_init
U EVP_PKEY_derive_set_peer
U EVP_PKEY_encrypt
U EVP_PKEY_encrypt_init
U EVP_PKEY_free
U EVP_PKEY_missing_parameters
U EVP_PKEY_new
U EVP_PKEY_new_mac_key
U EVP_PKEY_sign
U EVP_PKEY_sign_init
U EVP_PKEY_size
U EVP_PKEY_verify
U EVP_PKEY_verify_init
U EVP_rc2_40_cbc
U EVP_rc2_cbc
U EVP_rc4
U EVP_seed_cbc
U EVP_sha1
U EVP_sha224
U EVP_sha256
U EVP_sha384
U EVP_sha512
U EVP_SignFinal
U EVP_VerifyFinal
Почему эти символы не определены и если это нормальное поведение, как мне создать модуль Python _hashlib
правильно?_hashlib
- это файл общего объекта для справки.