неопределенные символы в libssl.so [ubuntu14] - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь исправить некоторые проблемы в моей кросс-компиляции 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 - это файл общего объекта для справки.

...