Динамическое связывание openssl из Cross.toml требует во время выполнения libssl1.0.0, которого больше не существуетLinux

Ответить Пред. темаСлед. тема
Anonymous
 Динамическое связывание openssl из Cross.toml требует во время выполнения libssl1.0.0, которого больше не существует

Сообщение Anonymous »

В моем проекте мне нужно использовать openssl не для HTTP-части моего приложения, а потому, что мне нужно декодировать подписанный файл.
Я добавил в свой Cargo.toml:
openssl = { version = "0.10.66", default-features = false }

и Cross.toml:
[target.aarch64-unknown-linux-gnu]
pre-build = [
"dpkg --add-architecture $CROSS_DEB_ARCH",
"apt-get update && apt-get install --assume-yes libssl-dev:$CROSS_DEB_ARCH",
]

Когда я запускаю кросс, он строится, но когда исполняемый файл --release запускается на компьютере с Debian 12 с установленным openssl, возникает ошибка:
error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Почему он привязан к libssl.so.1.0.0, а не к последним версиям?
На компьютере установлен openssl это:
openssl version -a

OpenSSL 3.0.14 4 Jun 2024 (Library: OpenSSL 3.0.14 4 Jun 2024)
built on: Sun Sep 1 14:59:10 2024 UTC
platform: debian-arm64
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -fzero-call-used-regs=used-gpr -DOPENSSL_TLS_SECURITY_LEVEL=2 -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/reproducible-path/openssl-3.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/aarch64-linux-gnu/engines-3"
MODULESDIR: "/usr/lib/aarch64-linux-gnu/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_armcap=0xbd

Если я использую ldd, я получаю следующее:
ldd executable
linux-vdso.so.1 (0x0000ffffb51f0000)
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffb3fe0000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffb3fb0000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffb3f10000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffb3ee0000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb3d30000)
/lib/ld-linux-aarch64.so.1 (0x0000ffffb51b3000)


Подробнее здесь: https://stackoverflow.com/questions/790 ... hich-doesn
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»