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

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

    <bug>
          <bug_id>55423</bug_id>
          
          <creation_ts>2025-07-30 13:37:07 +0300</creation_ts>
          <short_desc>undefined reference to `onnx::OpSchema::SetDomain(char const*)&apos;</short_desc>
          <delta_ts>2025-11-13 12:32:25 +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>libonnx-devel</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Arseny Maslennikov">arseny</reporter>
          <assigned_to name="Anton Zhukharev">ancieg</assigned_to>
          <cc>ancieg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270102</commentid>
    <comment_count>0</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-07-30 13:37:07 +0300</bug_when>
    <thetext>Здравствуйте, дорогая редакция!

Попробовал я собрать onnxruntime (пока без питона). Его сборочный сценарий обнаружил системный onnx, подключил заголовочники и прочёл там то, что ожидал: class OpSchema, class OpSchemaRegistry, их поля и функции, etc.

Но соотв. символы в библиотеке будто отсутствуют.
https://packages.altlinux.org/tasks/391155/
  ld: in function `onnxruntime::Environment::Initialize(std::unique_ptr&lt;onnxruntime::logging::LoggingManager, std::default_delete&lt;onnxruntime::logging::LoggingManager&gt; &gt;, OrtThreadingOptions const*, bool)::{lambda()#1}::operator()() const [clone .isra.0]&apos;: undefined reference to `onnx::OpSchemaRegistry::loaded_schema_version&apos;

В библиотеке их тоже нет:
  $ rpm -ql libonnx1 | grep &apos;[.]so&apos;
  /usr/lib64/libonnx.so.1
  /usr/lib64/libonnx.so.1.18.0
  /usr/lib64/libonnx_proto.so.1
  /usr/lib64/libonnx_proto.so.1.18.0
  $ nm --dynamic --demangle /usr/lib64/libonnx.so.1/usr/lib64/libonnx_proto.so.1  | grep ::OpSchema
  00000000000c5d60 T onnx::OpSchemaRegistry::Instance()
…а хедеры есть:
  $ grep -r loaded_schema_version /usr/include/onnx
  /usr/include/onnx/defs/schema.h:    loaded_schema_version = target_version;
  /usr/include/onnx/defs/schema.h:    return loaded_schema_version;
  /usr/include/onnx/defs/schema.h:  static int loaded_schema_version;

Одно из трёх:
— либо я неосилил и не заметил что-то очевидное;
— либо в onnxruntime где-то отстрелили себе колено (вообще, в этом апстриме то ли слегка отбитые, то ли весьма отбитые);
— либо нужно чинить что-то в пакете onnx. (видимость символов?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270441</commentid>
    <comment_count>1</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-08-05 12:43:34 +0300</bug_when>
    <thetext>Этот апстрим (https://github.com/onnx/onnx), кажется, тоже отбитый. :(

Нашёл в истории проекта вот такое:
  commit 222a04e0fa9443e53ae6dbf366d740d4ab3567c8
  tree f3b43e6fbcec39b7b4aa522c1e2adffe1f843422
  parent 1989d57f4814366eb6e7ef43c88e2bac3f7f5b5f
  author cyyever &lt;cyyever@outlook.com&gt; Fri Sep 27 15:47:18 2024 +0800
  committer GitHub &lt;noreply@github.com&gt; Fri Sep 27 07:47:18 2024 +0000
   
  Set hidden visibility on onnx target (#6393)
   
  ### Description
  &lt;!-- - Describe your changes. --&gt;
  Don&apos;t leak symbols.
  ### Motivation and Context
  For better code.
  &lt;!-- - Why is this change required? What problem does it solve? --&gt;
  &lt;!-- - If it fixes an open issue, please link to the issue here. --&gt;
   
  Signed-off-by: cyy &lt;cyyever@outlook.com&gt;
  diff --git a/CMakeLists.txt b/CMakeLists.txt
  index d6a3450b..13b062d0 100644
  --- a/CMakeLists.txt
  +++ b/CMakeLists.txt
  @@ -522,6 +522,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL &quot;AIX&quot;)
   else()
     add_library(onnx ${ONNX_SRCS})
   endif()
  +set_target_properties(onnx PROPERTIES CXX_VISIBILITY_PRESET hidden)   
  +set_target_properties(onnx PROPERTIES VISIBILITY_INLINES_HIDDEN 1)
   
   target_include_directories(onnx PUBLIC
     $&lt;BUILD_INTERFACE:${ONNX_ROOT}&gt;
Намекают внешним проектам, что &quot;вас здесь не стояло&quot;. :(
Или, не напрягаясь обосновать, рекомендуют тащить себе дистрибутив исходников и собираться с ним вместе Rust/Golang-style, мол, при статической линковке никаких скрытых символов нет.

Тем не менее, представители проекта onnx-mlir на этой неделе оказались в похожей ситуации и решили что-то изменить:
https://github.com/onnx/onnx/pull/7179
В итоге анекдот: половину символов раскрыли (по принципу &quot;от балды&quot;), половину не раскрыли.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270442</commentid>
    <comment_count>2</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-08-05 12:49:39 +0300</bug_when>
    <thetext>Придётся, видимо, следуя за рекомендациями апстрима onnxruntime, просто завендорить исходники onnx. По существу, неприятны тут только две вещи:
1) это надо делать руками в gear-репозитории =&gt; малый градус верифицируемости действий;
2) у нас нет общего механизма взять исходники именно пакета onnx в нашем репозитории, а не просто какой-то тарболл или, как у них по умолчанию, .zip с гитхаба.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276627</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2025-11-13 12:32:25 +0300</bug_when>
    <thetext>onnx-1.18.0-alt3 -&gt; sisyphus:

Thu Nov 13 2025 Nikita Shmatko &lt;nash@altlinux&gt; 1.18.0-alt3
- NMU: Disabled symbol visibility hiding (Closes: #55423).</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>