LINUX.ORG.RU

pip, apt, зависимости от libboost и прочее

 , ,


0

1

Товарищи. Я внезапно понял, что не пронимаю, как работают пакетные менеджеры.

1. Вот, есть вопрос по заливке пакета на pipy. Пакет тянет c++ extension, зависящий от libboost_python-py35.* Проблема в том, что xubuntu16.04 и xubunu17.10. имеют разные версии этого пакета. Я не очень понимаю, как я должен линковать и загружать на сервер пакет, чтобы на разных версиях ОС pip отдал мне ту версию динамической библиотеки расширения, которая положена в данной системе...

2. Вот есть такой замечательный проект qbittorent. Каким, баги его разбери, образом он умудряется работать не поставив qt-шных либ? Он линкует qt статически?

3. Как вообще это работает? Версии библиотек постоянно обновляются. У пакета может быть до сотни зависимостей с плавающими версиями. Как я должен действовать, чтобы мой пакет работал с различными версиями всех этих библиотек?

4. Насколько вообще уместно статически линковать либы? Тот же boost.


Ответ на: комментарий от mandala

Ага. Спасибо за то, что напомнили :).

Я понял свою проблему. У меня программа работает нормально с libbost_python-py35.so-1.62.0 но она этого не знает. В зависимостях прописан не абы какой libbost_python-py35.so, а libbost_python-py35.so-1.58.0. Она его ищет. То есть, по факту либа есть, но система не умеет ее линковать.

Не понимаю, что с этим делать.

Mirmik
() автор топика
Ответ на: комментарий от Mirmik

objdump -p : ... Динамический раздел: NEEDED libTKernel.so.10 NEEDED libTKMath.so.10 NEEDED libTKBRep.so.10 NEEDED libTKTopAlgo.so.10 NEEDED libTKPrim.so.10 NEEDED libTKBO.so.10 NEEDED libTKSTL.so.10 NEEDED libboost_python-py35.so.1.58.0 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libc.so.6 ...

ls /usr/lib/x86.../libboost_python-py35* : ... libboost_python-py35.so.1.62.0 ...

Ошибка: ImportError: libboost_python-py35.so.1.58.0: cannot open shared object file: No such file or directory

Mirmik
() автор топика
Ответ на: комментарий от Mirmik

Почему они не линкуются

Сделай ln -s libbost_python-py35.so-1.62.0 libbost_python-py35.so-1.58.0

monk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.