В Ubuntu Python3.11 не может найти libpython3.11.so.1.0.
Вот информация о моей системе:
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and- ... acy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
В моей системе я установил Python3 и Python3-dev с версиями Python3.12.3. В то же время я скомпилировал Python 3.12.7, используя следующие инструкции по компиляции:
./configure --enable-loadable-sqlite-extensions --enable-optimizations --with-lto=full --enable-shared
make
make altinstall
Тогда всё нормально, вот подробности:
linux-vdso.so.1 (0x00007ffdbd726000)
libpython3.12.so.1.0 => /usr/local/lib/libpython3.12.so.1.0 (0x000077c52ea00000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000077c52e600000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000077c52f165000)
/lib64/ld-linux-x86-64.so.2 (0x000077c52f26a000)
Однако, когда мне нужно установить другие версии Python, например Python3.11.10, возникают проблемы.
Конфигурация компиляции идентична этой Python3.12, но возникает следующая проблема:
python3.11: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory
Я решил проблему, выполнив следующие действия:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Однако я не понимаю, почему возникла эта проблема. Была ли где-то ошибка конфигурации?
Вот подробная информация:
> ll /usr/local/lib/
drwxr-xr-x 5 root root 4096 Oct 3 13:42 ./
drwxr-xr-x 10 root root 4096 Apr 24 18:47 ../
lrwxrwxrwx 1 root root 20 Oct 3 13:42 libpython3.11.so -> libpython3.11.so.1.0*
-rwxr-xr-x 1 root root 25185720 Oct 3 13:42 libpython3.11.so.1.0*
lrwxrwxrwx 1 root root 20 Oct 2 16:19 libpython3.12.so -> libpython3.12.so.1.0*
-rwxr-xr-x 1 root root 31234664 Oct 2 16:19 libpython3.12.so.1.0*
-rwxr-xr-x 1 root root 15088 Oct 3 13:42 libpython3.so*
drwxr-xr-x 2 root root 4096 Oct 3 13:42 pkgconfig/
drwxr-xr-x 39 root root 4096 Oct 3 13:42 python3.11/
drwxr-xr-x 40 root root 4096 Oct 2 16:19 python3.12/
Переменная среды по умолчанию LD_LIBRARY_PATH пуста.
Другое:
> readelf -d /usr/local/bin/python3.12
Dynamic section at offset 0x2db8 contains 28 entries:
0x0000000000000001 (NEEDED) Shared library: [libpython3.12.so.1.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x1000
0x000000000000000d (FINI) 0x115c
0x0000000000000019 (INIT_ARRAY) 0x3da8
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x3db0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x3b0
0x0000000000000005 (STRTAB) 0x548
0x0000000000000006 (SYMTAB) 0x3f8
0x000000000000000a (STRSZ) 222 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x3fb8
0x0000000000000002 (PLTRELSZ) 24 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x738
0x0000000000000007 (RELA) 0x678
0x0000000000000008 (RELASZ) 192 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000000000001e (FLAGS) BIND_NOW
0x000000006ffffffb (FLAGS_1) Flags: NOW PIE
0x000000006ffffffe (VERNEED) 0x648
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x626
0x000000006ffffff9 (RELACOUNT) 3
0x0000000000000000 (NULL) 0x0
readelf -d /usr/local/bin/python3.11
Dynamic section at offset 0x2db8 contains 28 entries:
0x0000000000000001 (NEEDED) Shared library:[libpython3.11.so.1.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x1000
0x000000000000000d (FINI) 0x115c
0x0000000000000019 (INIT_ARRAY) 0x3da8
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x3db0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x3b0
0x0000000000000005 (STRTAB) 0x548
0x0000000000000006 (SYMTAB) 0x3f8
0x000000000000000a (STRSZ) 222 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x3fb8
0x0000000000000002 (PLTRELSZ) 24 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x738
0x0000000000000007 (RELA) 0x678
0x0000000000000008 (RELASZ) 192 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000000000001e (FLAGS) BIND_NOW
0x000000006ffffffb (FLAGS_1) Flags: NOW PIE
0x000000006ffffffe (VERNEED) 0x648
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x626
0x000000006ffffff9 (RELACOUNT) 3
0x0000000000000000 (NULL) 0x0
Подробнее здесь: https://stackoverflow.com/questions/790 ... so-1-0-can
Почему: python3.11: ошибка при загрузке общих библиотек: libpython3.11.so.1.0: невозможно открыть файл общего объекта: н ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение