Обновление неудовлетворенных зависимостей до stretch [закрыто]

Исполняемые файлы Linux не являются специфичными для дистрибутива Linux. Но они специфичны для архитектуры процессора и набора версий библиотек.

Исполняемый файл для любой операционной системы специфичен для архитектуры процессора. Пользователям Windows и Mac это не так важно, потому что эти операционные системы более или менее работают только на одной архитектуре. (OSX раньше работала на нескольких процессорных архитектурах, и приложения OSX обычно распространялись в виде пакета, содержащего код для всех поддерживаемых процессорных архитектур, но современная OSX работает только на процессорах amd64. Windows работает как на 32-битных, так и на 64-битных процессорах Intel, поэтому вы можете встретить "32-битные" и "64-битные" исполняемые файлы Windows.)

Windows решает проблему зависимости библиотек, заставляя программистов комплектовать все библиотеки, которые они используют в своей программе. В Linux это делается редко, что дает программистам преимущество в том, что им не нужно связывать библиотеки, а пользователи получают своевременные обновления безопасности и исправления ошибок для библиотек, но издержки в том, что программы должны быть скомпилированы по-разному для разных выпусков дистрибутивов.

Поэтому вы должны пометить свой двоичный файл как "Linux, 64-битный ПК (amd64), скомпилированный для Ubuntu 17.04" (или "32-битный ПК (i386)", если это 32-битный исполняемый файл), и подробно описать необходимые библиотеки. Библиотеки, используемые исполняемым файлом, можно посмотреть с помощью команды ldd: выполните ldd program. Часть перед => имеет значение, например, libgtk-3.so.0 - это основная библиотека GTK3 с версией 0 (если когда-нибудь появится версия 1, она будет несовместима с версией 0, это и является причиной изменения номера версии). Некоторые из этих библиотек - это то, что все равно будет у всех, потому что они не менялись много лет; только опыт или сравнение с помощью нескольких дистрибутивов и нескольких релизов может сказать вам об этом. Пользователи других дистрибутивов могут запускать тот же двоичный файл, если у них есть совместимые версии библиотек.

1
09.06.2017, 19:29
1 ответ

Я проследил проблему до ручной установки python3.5.

После его удаления вручную (rm -r /usr/local/python*), как описано в этой ошибке, dist-upgrade сработал хорошо.

0
28.01.2020, 00:55

Теги

Похожие вопросы