क्लैंग 10 का उपयोग करके डेबियन पैकेज डेटाबेस के पुनर्निर्माण के परिणाम

Сильвестр Ледрю (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 функции, использование упорядоченного сравнения указателя с нулём, отсутствие определений.

स्रोत: opennet.ru

एक टिप्पणी जोड़ें