Bug 52732 - Перенести зависимость на hiprt-devel в подпакет blender-cycles-hip-kernels
Summary: Перенести зависимость на hiprt-devel в подпакет blender-cycles-hip-kernels
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: blender (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Egor Ignatov
QA Contact: qa-sisyphus
URL: https://github.com/GPUOpen-LibrariesA...
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-16 19:21 MSK by Sergey V Turchin
Modified: 2025-02-06 11:20 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey V Turchin 2025-01-16 19:21:49 MSK
blender в результате тащит clang, что довольно лишнее.
Предлагаю выделить необходимые файлы в hiprt-common или ещё какой пакет.

Или убрать прекомпиленый байткод, если возможно.
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2025-01-17 00:36:03 MSK
(In reply to Sergey V Turchin from comment #0)
> blender в результате тащит clang, что довольно лишнее.
> Предлагаю выделить необходимые файлы в hiprt-common или ещё какой пакет.
> 
> Или убрать прекомпиленый байткод, если возможно.

Кому что лишнее? Байткод и так в отдельном пакете. Сначала сформулируйте проблему.
Comment 2 Konstantin A Lepikhov (L.A. Kostis) 2025-01-17 00:48:47 MSK
Если речь идет об этом куске .spec:

%if_with hiprt                                                                                                                                                                                                                                                                            
BuildRequires: hiprt-devel clang-rocm-devel                                                                                                                                                                                                                                               
# hiprtCreateGeometry relies on hardcoded headers                                                                                                                                                                                                                                         
# in /usr/include                                                                                                                                                                                                                                                                         
# see https://github.com/GPUOpen-LibrariesAndSDKs/HIPRT/issues/7                                                                                                                                                                                                                          
Requires: hiprt-devel                                                                                                                                                                                                                                                                     
%endif

то здесь проблема не в runtime, а как работает hiprt - ему для генерации байткода нужны эти заголовки, как и в случае rocm-clang/hipcc.

Можно просто перенести эти Requires: в пакет cycles-hip-kernels, тогда сам blender не будет требовать hiprt-devel.

PS Я не мантейнер blender, текущий мантейнер просто тырит у меня патчи, поэтому пусть сам решает )
Comment 3 Konstantin A Lepikhov (L.A. Kostis) 2025-01-17 00:50:41 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #2)
> Если речь идет об этом куске .spec:
> 
Сразу отвечу, как это сделано в blender из flatpack/upstream - там эти заголовки просто упакованы вместе с blender, как и все необходимые библиотеки.
Comment 4 Sergey V Turchin 2025-01-17 11:47:09 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2)
> Requires: hiprt-devel                                                       
Да. Оторвать надо.
Comment 5 Sergey V Turchin 2025-01-17 11:48:14 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #3)
> Сразу отвечу, как это сделано в blender из flatpack/upstream - там эти
> заголовки просто упакованы вместе с blender, как и все необходимые
> библиотеки.
Давайте теперь сделаем правильно у нас, но без упаковки вместе с blender.
Comment 6 Egor Ignatov 2025-01-17 12:16:07 MSK
(In reply to Sergey V Turchin from comment #5)
> (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #3)
> > Сразу отвечу, как это сделано в blender из flatpack/upstream - там эти
> > заголовки просто упакованы вместе с blender, как и все необходимые
> > библиотеки.
> Давайте теперь сделаем правильно у нас, но без упаковки вместе с blender.

Тогда предлагаю вынести header файлы из hiprt-devel пакета в новый noarch подпакет hiprt-devel-headers без зависимости на hip-devel.
Comment 7 Konstantin A Lepikhov (L.A. Kostis) 2025-01-17 12:24:35 MSK
(In reply to Egor Ignatov from comment #6)
> (In reply to Sergey V Turchin from comment #5)
> > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #3)
> > > Сразу отвечу, как это сделано в blender из flatpack/upstream - там эти
> > > заголовки просто упакованы вместе с blender, как и все необходимые
> > > библиотеки.
> > Давайте теперь сделаем правильно у нас, но без упаковки вместе с blender.
> 
> Тогда предлагаю вынести header файлы из hiprt-devel пакета в новый noarch
> подпакет hiprt-devel-headers без зависимости на hip-devel.

я _уже_ предложил вам решение. Если вы не можете его понять, это ваши проблемы. Исправлять в hiprt ничего не нужно.
Comment 8 Sergey V Turchin 2025-01-17 16:34:24 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2)
> Можно просто перенести эти Requires: в пакет cycles-hip-kernels, тогда сам
> blender не будет требовать hiprt-devel.
Хотелось бы, чтобы был blender c поддержкой HIP, но без установленного clang. Такое возможно?
Comment 9 Konstantin A Lepikhov (L.A. Kostis) 2025-01-18 00:00:19 MSK
(Ответ для Sergey V Turchin на комментарий #8)
> (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2)
> > Можно просто перенести эти Requires: в пакет cycles-hip-kernels, тогда сам
> > blender не будет требовать hiprt-devel.
> Хотелось бы, чтобы был blender c поддержкой HIP, но без установленного
> clang. Такое возможно?

Нет, такое невозможно. HIP всегда требует clang для работы.
Comment 10 Sergey V Turchin 2025-01-18 14:17:18 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #9)
> Нет, такое невозможно. HIP всегда требует clang для работы.
Тогда нужно просто переместить зависимость на hip-devel в cycles-hip-kernels.

P.S.
Пакет cycles-nvidia-kernels переименовать в cycles-cuda-kernels по аналогии с cycles-hip-kernels.
Собрать cycles-cuda-kernels для aarch64 (если необходим bug#48759, то сперва(а лучше потом) его решить).
Comment 11 Konstantin A Lepikhov (L.A. Kostis) 2025-01-18 16:52:15 MSK
(In reply to Sergey V Turchin from comment #10)
> (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #9)
> > Нет, такое невозможно. HIP всегда требует clang для работы.
> Тогда нужно просто переместить зависимость на hip-devel в cycles-hip-kernels.
> 
> P.S.
> Пакет cycles-nvidia-kernels переименовать в cycles-cuda-kernels по аналогии
> с cycles-hip-kernels.
> Собрать cycles-cuda-kernels для aarch64 (если необходим bug#48759, то
> сперва(а лучше потом) его решить).

Сергей, вы так издеваетесь? Я про это и писал в комментарии #2.
Comment 12 Sergey V Turchin 2025-01-20 10:03:11 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #11)
> > Пакет cycles-nvidia-kernels переименовать в cycles-cuda-kernels по аналогии
> > с cycles-hip-kernels.
> > Собрать cycles-cuda-kernels для aarch64 (если необходим bug#48759, то
> > сперва(а лучше потом) его решить).
> Сергей, вы так издеваетесь? Я про это и писал в комментарии #2.
Возможно, прозрачным шрифтом. Я не вижу.
Comment 13 Sergey V Turchin 2025-01-20 10:03:33 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #11)
> (In reply to Sergey V Turchin from comment #10)
> > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #9)
> > > Нет, такое невозможно. HIP всегда требует clang для работы.
> > Тогда нужно просто переместить зависимость на hip-devel в cycles-hip-kernels.
> Сергей, вы так издеваетесь? Я про это и писал в комментарии #2.
Константин, у вас паранойя? Я лишь согласился с вами.
Comment 14 Egor Ignatov 2025-01-20 11:29:00 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #9)
> (Ответ для Sergey V Turchin на комментарий #8)
> > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2)
> > > Можно просто перенести эти Requires: в пакет cycles-hip-kernels, тогда сам
> > > blender не будет требовать hiprt-devel.
> > Хотелось бы, чтобы был blender c поддержкой HIP, но без установленного
> > clang. Такое возможно?
> 
> Нет, такое невозможно. HIP всегда требует clang для работы.

В таком случае я тоже согласен с предложенным решением. Так и сделаю. Константин, спасибо.
Comment 15 Repository Robot 2025-02-05 11:41:12 MSK
blender-4.3.0-alt3 -> sisyphus:

 Tue Feb 04 2025 Egor Ignatov <egori@altlinux> 4.3.0-alt3
 - Move hiprt-devel dependency to cycles-hip-kernels subpackage (Closes: #52732)
 - Rename cycles-nvidia-kernels to cycles-cuda-kernels
Comment 16 Sergey V Turchin 2025-02-05 11:51:26 MSK
(Ответ для Repository Robot на комментарий #15)
>  - Rename cycles-nvidia-kernels to cycles-cuda-kernels
Provides/Obsoletes не хватает.
Comment 17 Egor Ignatov 2025-02-05 11:58:29 MSK
(In reply to Sergey V Turchin from comment #16)
> (Ответ для Repository Robot на комментарий #15)
> >  - Rename cycles-nvidia-kernels to cycles-cuda-kernels
> Provides/Obsoletes не хватает.

https://git.altlinux.org/gears/b/blender.git?p=blender.git;a=blob;f=.gear/blender.spec;h=056f19353e5f24140d105067afe6e05d33ed10c9;hb=7fcce38d3768721ee73a06941ca085dceec3fe1e#l285

Еще каких то?
Comment 18 Sergey V Turchin 2025-02-05 12:54:55 MSK
Вмё ок. У packages.a.o агрессивный кэш. Старое показал.
Comment 19 iQQator 2025-02-06 11:13:48 MSK
Rename cycles-nvidia-kernels to cycles-cuda-kernels сломал работу куды в блендере :)
просто потому что система не в курсе что переименовали пакет и не скачала новую зависимость сама :)
Comment 20 Egor Ignatov 2025-02-06 11:20:39 MSK
(In reply to iQQator from comment #19)
> Rename cycles-nvidia-kernels to cycles-cuda-kernels сломал работу куды в
> блендере :)
> просто потому что система не в курсе что переименовали пакет и не скачала
> новую зависимость сама :)

Да, будет исправлено завтра: https://packages.altlinux.org/en/tasks/373351/