Результаты пересборки пакетной базы Debian при помощи Clang 10

3 июня 2020 года

Сильвестр Ледрю (Sylvestre Ledru) опубликовал результат пересборки архива пакетов Debian GNU/Linux с использованием компилятора Clang 10 вместо GCC. Из 31014 пакетов не удалось собрать 1400 (4.5%), но применив к инструментарию Debian дополнительный патч число несобранных пакетов удалось уменьшить до 1110 (3.6%). Для сравнения при сборке в Clang 8 и 9 число пакетов, которые не удалось собрать, держалось на уровне 4.9%.

При проведении эксперимента со сборкой внимание было сосредоточено на 250 проблемах, вызванных сбоем из-за ошибки в Qmake, и 177 проблемах, связанных с генерацией различных символов в библиотеках. Добавив простой патч к dpkg-gensymbols, обрабатывающий ошибку сравнения символов при связывании как предупреждение, и заменив в qmake конфигурационные файлы g++ удалось устранить сбои при сборке примерно 290 пакетов.

Из остальных проблем, приводящих к сбою при сборке в Clang, наиболее часто встречаются ошибки из-за отсутствия некоторых заголовочных файлов, приведения типов, отсутствия пробела между литералом и идентификатором, проблемы со связыванием, возврат не-void функций какого-то значения, использование сравнения указателя с нулём, отсутствие определений.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Результаты пересборки пакетной базы Debian при помощи Clang 10», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.