<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>57054</bug_id>
          
          <creation_ts>2025-11-28 10:05:19 +0300</creation_ts>
          <short_desc>SONAME убежал в другой пакет</short_desc>
          <delta_ts>2026-05-15 10:17:31 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>libomp21.1</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=56992</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>28944</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey V Turchin">zerg</reporter>
          <assigned_to name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</assigned_to>
          <cc>arseny</cc>
    
    <cc>iv</cc>
    
    <cc>lakostis</cc>
    
    <cc>rider</cc>
    
    <cc>snowmix</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278057</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2025-11-28 10:05:19 +0300</bug_when>
    <thetext>SONAME libomp.so.5 убежал из пакета llvm20.1 в пакет llvm21.1 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278065</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2025-11-28 10:16:00 +0300</bug_when>
    <thetext>&gt; из пакета llvm20.1 в пакет llvm21.1 .
Из libomp20.1 в libomp21.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278071</commentid>
    <comment_count>2</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2025-11-28 10:51:09 +0300</bug_when>
    <thetext>llvm21.1/llvm-project/openmp
&gt; git grep LIBOMP_VERSION_MAJOR
runtime/CMakeLists.txt:set(LIBOMP_VERSION_MAJOR 5)

Прекратите принимать запрещенные вещества.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278088</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2025-11-28 13:28:43 +0300</bug_when>
    <thetext>(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2)
&gt; llvm21.1/llvm-project/openmp
&gt; &gt; git grep LIBOMP_VERSION_MAJOR
&gt; runtime/CMakeLists.txt:set(LIBOMP_VERSION_MAJOR 5)
Да, она сбежала.

&gt; Прекратите принимать запрещенные вещества.
Не знаю, о чём вы, но, видимо, у вас есть опыт.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278100</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2025-11-28 14:09:29 +0300</bug_when>
    <thetext>в p10 это в одном пакете
https://packages.altlinux.org/ru/p10/files/?q=%2Fusr%2Flib64%2Flibomp.so.5
А в Sisyphus и p11 в другом:
https://packages.altlinux.org/ru/p11/files/?q=%2Fusr%2Flib64%2Flibomp.so.5


@snowmix - надо разработать тест на такое поведение. Библиотека не должна переезжать в другой пакет без смены soname. 
Это блокер.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278104</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2025-11-28 14:23:50 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #4)
&gt; @snowmix - надо разработать тест на такое поведение.
Вот, тут перебежала. https://packages.altlinux.org/ru/tasks/399130/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278145</commentid>
    <comment_count>6</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2025-11-28 17:51:24 +0300</bug_when>
    <thetext>Удачи с тестами</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278200</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2025-12-01 10:35:21 +0300</bug_when>
    <thetext>Пакет собран с нарушением Shared Libs Policy.
Предоставьте, пожалуйста, причину так паковать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286734</commentid>
    <comment_count>8</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2026-05-03 09:12:09 +0300</bug_when>
    <thetext>https://packages.altlinux.org/en/tasks/416735/ в данном таске предпринята попытка как-то решить ситуацию с &quot;блуждающим&quot; libomp. В апстриме как таковой проблемы нет - там libomp пакуется как часть llvm и какой у него там soname апстриму все равно. Более того, сам код libomp внутри проекта не меняется, а меняются только плагины и &quot;обвязки&quot; вокруг&quot; libomp.

Я попробовал взять что у нас уже есть из наработок по содержанию &quot;зоопарка&quot; компиляторов, т.е. идея из libgomp и метод сборки llvm, который предложил Арсений (через префикс и wrapper сслыки в _bindir/ и cmake)

К сожалению, полностью применить подход из libgomp не совсем получилось - т.к. у нас gcc &quot;по умолчанию&quot; всегда последней версии, а llvm &quot;по умолчанию&quot; всегда отстает на одну версию от последней доступной. Ну что получилось, работает хорошо:

- libomp.so.5 на уровне системной библиотеки предоставляется последней версией llvm
- libomp&lt;llvm_ver&gt;-devel у каждой версии свой, но сам libomp.so там является ссылкой на системный libomp.so.5.
- libomptarget (вместе с offload) вынесены в отдельный пакет libomptarget&lt;llvm_ver&gt;.
- offload и gpu libc являются частью пакета libomp&lt;llvm_ver&gt;-devel, их можно вынести в отдельные пакеты тоже (при желании).


В результате openmp можно включить практически у всех llvm&apos;ов (меньше приседаний внутри .spec) и в случае обновления llvm пересобирать зависимые от libomp.so.5 уже не придется (благо внутри libomp.so. версионность присутствует). Ну и вытянется при обновлении разве новый llvm&lt;llvm_ver&gt;-filesystem, но это пакет больше виртуальный.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286749</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-05-04 09:57:16 +0300</bug_when>
    <thetext>(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #8)
&gt; https://packages.altlinux.org/en/tasks/416735/ в данном таске предпринята
&gt; попытка как-то решить ситуацию с &quot;блуждающим&quot; libomp.
Вроде, ок. Только, ждать, когда по всем расползётся.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287532</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-05-15 10:17:31 +0300</bug_when>
    <thetext>Спасибо!</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>