Bug 35874

Summary: Сломалась сборка rust
Product: Sisyphus Reporter: AEN <aen>
Component: rustAssignee: Ajrat Makhmutov <rauty>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: cas, crux, glebfm, ldv, legion, rauty
Version: unstable   
Hardware: all   
OS: Linux   

Description AEN 2019-01-11 11:04:21 MSK
После перехода на llvm7.0 сломалась сборка. Возможно, надо собрать следующую версию.
Comment 1 Vladimir Lettiev 2019-01-14 18:19:19 MSK
Есть какая-то проблема с линковкой с llvm, возможно на это повлияло и обновление до gcc 8 в Sisyphus. Успешно собирается со встроенным llvm статически. Можно попробовать собирать так, пока не найдено решение с динамической линковкой с системным llvm.
Comment 2 Dmitry V. Levin 2019-01-16 02:58:07 MSK
Ну вот в Debian, например, rustc сейчас собирают с системным llvm версии 7.
Почему они могут, а мы нет?
Comment 3 Andrey Cherepanov 2019-01-16 10:18:23 MSK
(В ответ на комментарий №2)
> Ну вот в Debian, например, rustc сейчас собирают с системным llvm версии 7.
> Почему они могут, а мы нет?
Их llvm7.0 идентичен нашему, включая набор патчей?
Comment 4 Andrey Cherepanov 2019-01-16 10:19:04 MSK
Я запустил сборку с забандленный llvm:

219295 BUILDING #4 [locked] sisyphus srpm=rust-1.31.1-alt1.src.rpm
Comment 5 Andrey Cherepanov 2019-01-17 13:23:37 MSK
Задание 219295 со сборкой rust забандленным llvm собралось. Что с ним делать?
Пересборка rust с этим заданием и llvm7.0 приводит к той же ошибке.
Comment 6 Repository Robot 2019-01-17 23:32:34 MSK
rust-1:1.31.1-alt3 -> sisyphus:

Wed Jan 16 2019 Andrey Cherepanov <cas@altlinux> 1:1.31.1-alt3
- 1.31.1
- build with llvm7.0 (ALT #35874)
- disable test check
Comment 7 AEN 2019-01-18 03:29:59 MSK
Спасибо!
Comment 8 Vladimir Lettiev 2019-01-21 17:24:41 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №2)
> > Ну вот в Debian, например, rustc сейчас собирают с системным llvm версии 7.
> > Почему они могут, а мы нет?
> Их llvm7.0 идентичен нашему, включая набор патчей?

Разработчики rust активно патчат llvm исправляя ошибки и используя самые последние фичи llvm, и это просто не успевает попасть в апстрим. Сейчас вышел rust 1.32 и многие, столкнулись с проблемой сборки приложений на rust, собранного с использованием системного llvm 7, именно из-за отсутствия необходимых исправлений. Поэтому по-умолчанию в rust сборка идёт с забандленным llvm версии 8, включающим необходимые патчи.

Это, конечно, не самое удачное решение, с точки зрения даунстрима, но гарантирует работоспособность.