LINUX.ORG.RU

Debian: clang способен заменить gcc

 , ,


0

1

Sylvestre Ledru провел эксперимент по сборке репозитория Debian с помощью компилятора clang. Вопреки ожиданиям, результаты оказались обнадеживающими:

На мой взгляд, clang уже стабилен и достаточно хорош для пересборки большинства пакетов Debian, хотя многие из них потребуют незначительных исправлений.

В ближайшие несколько лет, учитывая лучшие инструмены статического анализа кода, clang может заменить gcc/g++ как компилятор C/C++ по умолчанию в дистрибутивах Linux и BSD.

Разработчики clang продвигаются очень быстро: с версией 2.9 не собиралось 14.5% пакетов, а с 3.0 - 8.8%. Сделаны существенные шаги: chromium/chrome собираются по умолчанию с помощью clang, Xcode по умолчанию предоставляет clang, FreeBSD работает над переходом с gcc на clang и т. д.

Однако для Debian важно, чтобы clang справлялся со всеми поддерживаемыми архитектурами (11 официальных, 6 неофициальных).

Собрать не удалось 1381 пакет из 15658. Самая частая причина неудачи - более строгое следование стандартам со стороны clang.

Найденные баги будут отправлены в багтрекер Debian вместе с патчами. Автор исследования продолжит тестировать новые версии clang.

>>> Подробности

★★★★

Проверено: Shaman007 ()

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

Неделю назад я уже готов был учить паскаль с лазарусом. Погуглив «лучший язык для научных вычислений», не нашел ни одного упоминания о паскалях. Все программируют на Фортранах, Сях, Питонах. О паскалях в этой области можно забыть, как и о бейсиках. Ada и Modula-2 еще можно применять в суровой технике, хотя МО пиндосов уже отказываются от Ада в пользу С. На лазарусе можно еще ваять десктопные велосипеды (текстовые редакторы, СУБД-оболочки). Паскаль умер.

Ziel
()

Собрать — это только полдела. В собранном потом повылезают баги, которые надо будет чинить.

Relan ★★★★★
()

Теперь и дебианщики троллят.

cipher ★★★★★
()

Гнутые сами виноваты. С 4.2.2 поменяли лицензию на GPLv3. Из-за чего эппл отказались от gcc в своём Xcode и стали впиливать clang.

Ivanz
()
Ответ на: комментарий от Ziel

Паскаль умер.

Он остался в наших сердцах. И если брать именно паскаль, без дельфи, то он вроде сильно и не применялся вне образовательной среды. И пока он еще там остается (хотя, емнип, на лоре была новость про использование дельфи).

anonymous
()
Ответ на: комментарий от buddhist

Вычисляемый goto, например.

Вот невычисляемый goto — действительно нафиг не нужен.

Для второго разумные примеры использования встречал, а для первого можно?

anonymous
()
Ответ на: комментарий от note173

Ну в MacOS, хотелось бы думать, «зоопарка» нет. «Одна платформа--один рантайм», как сейчас в линухе. А насколько, например, будут совместимо что-то, собранное clang со сторонними библиотеками, собранными gcc/g++? Особенно g++, кстати. Там рантаймы не подерутся?

gns ★★★★★
()
Ответ на: комментарий от gns

ABI объявляется совместимым, но насколько безопасно линковать код, собранный разными компиляторами — не знаю.

note173 ★★★★★
()
Ответ на: комментарий от V_L_A_D

кто действительно использует фортран, тот конпелирует его Intel'овским продуктом

Ога. Это если не использовать сторонние библиотеки. Вообще-то именно в этом ценность Fortran.

Evgueni ★★★★★
()
Ответ на: комментарий от Reset

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

Evgueni ★★★★★
()
Ответ на: комментарий от ForwardToMars

Сборка делается один раз, а работает потом - тысячи. И зачем нужна эта быстрая сборка, если потом результат медленнее?

+1

alex_custov ★★★★★
()
Ответ на: комментарий от Reset

Я, например. Есть у нас большая фортрановская библиотека которая активно развивается. Местами пишем в стандарте fortran 2003.

gns ★★★★★
()
Ответ на: комментарий от darkshvein

Ну так, gcc открывает libastral и на автомате оптимизирует и параллелит код, потому и медленнее. Зато результат лучше на 148%.

note173 ★★★★★
()
Ответ на: комментарий от Reset

Не знаю никого кто бы писал на фортране новый код.

Да-да.

А я не знаю ни одного тасманца. Вывод: в Тасмании никто не живёт.

И ещё за Путина никто не голосовал по той же причине.

yvv ★★☆
()
Ответ на: комментарий от note173

Меня всегда восхищала бессмысленная энергия.

Evgueni ★★★★★
()
Ответ на: комментарий от Reset

Более чем половина НАСА'вских пакетов писаны на фортране.
Предлагаю тебе в виде развлечения перенести их на c/c++

То что лично ТЫ чего-то не знаешь или чего-то не видел не значит что этого нет в природе.

WatchCat ★★★★★
()
Ответ на: комментарий от darkshvein

Херня, что дистр будет медленее абанту

Абанту тормозит из-за powernowd, инфа 100%.

Cancellor ★★★★☆
()
Ответ на: комментарий от Binary

позор мне. Но Чуров не одинов, вместе с ним там Фурсенко, так что он может и вертет|ся

darkshvein ☆☆
()
Ответ на: комментарий от V_L_A_D

И фортран и паскаль нужны. Так что попрошу без скоропалительных заявлений

HerrWeigel ★★★★
()

Ну так пусть меняют, что стоит сделать еще одну официальную сборку и реп с clang? Не плохой эксперимент.

Buy ★★★★★
()
Ответ на: комментарий от Reset

Ну вот в legacy и нет... А надо сделать :) Поэтому intel fortran и дан нам в ощущение.

gns ★★★★★
()

Надо попробывать и сравнить производительность.

unfo ★★★★★
()

Ну будет clang, подумаешь.

ostin ★★★★★
()

Ну что, дело нужное. Хоть какая-то конкуренцмя.

Только в новостях на главной ни разу не читал про то, чем же отвечают авторы гцц? Какие кардинальные фичи добавляют, чтобы через пару лет не начался массовый уход на кланг?

Stalin ★★★★★
()

Прогресс радует, но дебиан все равно не будет его использовать как основной из-за того, что список поддерживаемых clang-ом архитектур намного меньше, чем у gcc.

Deleted
()
Ответ на: комментарий от ForwardToMars

Гентушникам, как минимум. А вообще, clang-у еще есть, куда развиваться, и есть еще 1000 возможностей догнать и перегнать gcc для всех 100% случаев (сейчас они дают код почти равной производительности в среднем, но на некоторых тестах последний GCC генерирует код, который заметно быстрее, чем clang)

Deleted
()
Ответ на: комментарий от encyrtid

Это мнение общества программистов, а не результат конкретных проведенных экспертиз. Пруф наковырял с форумов. Также замечу, что организация lynuxworks выпустила средства для автоматизированной миграции с Ada на C, что какбы намекает.

Ada has fallen out of favor with many organizations; its day in the sun is for the most part, over.

The military use of ADA is overrated. They switched «completely» to ADA just as the United Stated switched to the metric measurement system.

The Ada mandate was a political flop, unfortunately. Mismanagement by the US government killed Ada, and resulted in the mandate being lifted in 1997. Mandating the use of a language without proper compilers or development tools just doesn't work. Interestingly, after the mandate was lifted, its popularity expanded and better tools became available. But it's still a dying language these days (much like COBOL and Fortran - good in its niche, not much else).

very few US military applications were actually written in Ada

Read in the current «AIR International» that the Raptor had its' flight software, which I take to mean the s/w controlling the radar, fire control, nav/comm, FMS, etc., changed during development from ADA, which I had thought was purpose-made for the US military, to C++.

Ziel
()
Ответ на: комментарий от fero

Это же традиционно для ЛОРа. Я не хочу закопать GCC, но архитектура clang/llvm выглядит намного адекватнее.

Deleted
()
Ответ на: комментарий от ForwardToMars

Сборка делается один раз
И зачем нужна эта быстрая сборка

Расскажи это профессиональным разработчикам, которые компилируют большие программы туеву хучу раз на дню

fang
()

Когда вышел GCC 4.2, мне не понравилось то, что скомпилированные в нём программы не работают в системе с GCC 4.1. И это продолжается для всех последующих версий GCC, хотя libstdc++.so.6 по-прежнему имеет номер 6, а не 7, 8, 9 и 10. Есть ли это в Clang? Например, запустятся ли в системе с CLang 2.9 программы, скомпилированные в CLang 3.0?

ZenitharChampion ★★★★★
()

clang собрал emacs вообще без вопросов.

power
()
Ответ на: комментарий от ForwardToMars

Сборка делается один раз, а работает потом - тысячи. И зачем нужна эта быстрая сборка, если потом результат медленнее?

Быстрая сборка нужна разработчикам программных продуктов и тестерам. Быстрая пересборка ПО из изменяемых исходников позволяет сократить время на отладку и анализ проблем компиляции, за то же время сделать больше циклов правка-компиляция-запуск-разбор результатов.

iZEN ★★★★★
()

Апло-проблемы. Нам и гцц хватает.

vova7890 ★★★
()
Ответ на: комментарий от darkshvein

Надо же гентушникам успеть собратся и (в перспективе) поработать до следующего апдейта

KennyMinigun ★★★★★
()
Ответ на: комментарий от buddhist

Толсто. Вообще, я лелею идиот^Wутопическую мечту, что сишечка когда-нибудь умрет, освободив место для паскалеподобных языков :)

Хотфикс.

KennyMinigun ★★★★★
()
Ответ на: комментарий от buddhist

Разве что если какой-нибудь Оберон заменит собой *никсы... Можно сделать полноценный компилятор того же паскаля (да он уже есть - FPC) - но, например, написанное на нем ядро юниксоподобной ситемы будет выглядеть как римский шлем на голове ГИБДД-шника (а главное, плохо интегрироваться с утилитами (избыточные «велосипедные» библиотеки и т. п.).

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