Ваши три факта достаточно точны, по крайней мере, чтобы понять, что нужно от библиотеки C (на высоком уровне ).
Я думаю, что неверно ваше понимание «явной поддержки musl». Существует три типа распределений с точки зрения musl:
Как и любой другой двоичный файл, вы можете использовать musl-зависимый двоичный файл -в любом дистрибутиве Linux, если вы также предоставляете необходимые библиотеки. Если он статически -скомпонован, то нет библиотек, которые можно было бы предоставить. К самим дистрибутивам особых требований нет.
Вам может быть интересно узнать о третьем типе выше. Предоставление musl в дистрибутиве, который не полагается на него, делается для того, чтобы упростить жизнь пользователям, которые хотят создавать двоичные файлы с использованием musl :эти дистрибутивы предоставляют библиотеки musl (статические и динамические, обычно ), файлы заголовков, и поддержка компилятора, необходимая для сборки двоичных файлов с использованием musl. Это означает, что пользователи могут начать создавать двоичные файлы с помощью musl без необходимости устанавливать musl и самостоятельно настраивать свой компилятор.
В общем, тот факт, что некоторые дистрибутивы поддерживают данную функцию, а другие нет, не означает, что эта функция не может поддерживаться в последнем; это означает, что конечный -пользователь должен выполнить соответствующую работу.
Сообщение от apt
не обязательно означает, что пакеты не установлены. Это означает, что в результате установки, которую вы запрашиваете, пакеты не могут быть установлены. Это может произойти, если некоторые другие зависимости git-all
хотят удалить уже установленные пакеты из-за конфликтов. Попробуйте добавить пакеты, на которые жалуется apt и которые вы хотите сохранить, в команду для установки git-all
. Лучше сначала добавить -s
для имитации установки. Как показывает этот пост , разрешение зависимостей при установке git-all
может быть слишком сложным для автоматической обработки apt
, поскольку он может выбрать неправильные альтернативные зависимости.
Попробуйте запустить sudo apt -f install
. Это исправит все недостающие зависимости. Затем снова запустите sudo apt-get install git-all
.