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

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

    <bug>
          <bug_id>38013</bug_id>
          
          <creation_ts>2020-02-04 16:18:28 +0300</creation_ts>
          <short_desc>libnumpy-py3-devel не работоспособен без libnumpy-devel</short_desc>
          <delta_ts>2020-11-10 10:49:42 +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>libnumpy-py3-devel</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=38807</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=39216</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aleksei Nikiforov">darktemplaralt</reporter>
          <assigned_to name="Aleksei Nikiforov">darktemplaralt</assigned_to>
          <cc>asy</cc>
    
    <cc>grenka</cc>
    
    <cc>majioa</cc>
    
    <cc>root</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>187476</commentid>
    <comment_count>0</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-02-04 16:18:28 +0300</bug_when>
    <thetext>libnumpy-py3-devel не работоспособен, если пакет libnumpy-devel отсутствует. Пакеты на python-3, которым требуется numpy, не могут быть собраны, если numpy для python-2 не присутствует в момент сборки в дополнение к версии для python-3.

Воспроизведение:
1) взять пакет на python-3, которому для сборки требуется libnumpy-py3-devel.
Примером такого пакета может быть python3-module-pandas или blender.
2) удалить из сборочных зависимостей libnumpy-devel, но оставить libnumpy-py3-devel.
3) пересобрать пакет.

Ожидаемый результат:
Успешная пересборка пакета

Результат:
Пакет не пересобирается, ошибки из-за отсутствующих файлов &quot;numpy/$something&quot;, например:

pandas/_libs/algos.c:643:10: fatal error: numpy/arrayobject.h: No such file or directory
  643 | #include &quot;numpy/arrayobject.h&quot;


Дополнительные данные:
Хотя имеющиеся исходные файлы пакета можно изменить, чтобы заголовки искались в директории &quot;numpy-py3&quot; вместо &quot;numpy&quot;, это проблему полностью не решает, поскольку некоторые файлы генерируются во время сборки с помощью cython, и в таких сгенерированных файлах указана директория &quot;numpy&quot;, а не &quot;numpy-py3&quot;. Такое, например, происходит при сборке пакета python3-module-pandas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187477</commentid>
    <comment_count>1</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2020-02-04 17:22:24 +0300</bug_when>
    <thetext>Подтверждаю. Та же фигня с pytables. Требует libnumpy-devel, как ни крути.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188498</commentid>
    <comment_count>2</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-03-12 11:32:11 +0300</bug_when>
    <thetext>Предлагаю переделать libnumpy-devel и libnumpy-py3-devel следующим образом:

Перенести заголовки libnumpy-devel в директорию /usr/include/python2.7/numpy
Перенести заголовки libnumpy-py3-devel в директорию /usr/include/python3.8/numpy/
Причём, соответствующие цифры в именах директорий будут зависеть от текущих версий питона.

При этом в стандартных директориях для include файлов больше не будет директории numpy, и соответственно для сборки с numpy для python2 или python3 потребуется явно указывать дополнительные директории для поиска этих файлов. В .pc файлах также всё для этого присутствует.

Таким образом, больше не будет необходимости переделывать пути с &quot;numpy/$something.h&quot; на &quot;numpy-py3/$something.h&quot;, в том числе у сгенерированных файлов, и всегда при сборке будут находится только заголовки для указанной версии numpy.

Если бы не ошибка 34619, можно было бы и вообще оставить заголовки в их директории по-умолчанию, в поддиректории %python_sitelibdir или %python3_sitelibdir.

Сделал тестовое задание #247694. Пока что с ним успешно пересобрались boost и blender. Попробую ещё другие пакеты. Планирую через несколько дней отправить это задание в Сизиф.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188572</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-03-16 23:28:25 +0300</bug_when>
    <thetext>python-module-numpy-1:1.15.4-alt5 -&gt; sisyphus:

 Wed Mar 11 2020 Aleksei Nikiforov &lt;darktemplar@altlinux&gt; 1:1.15.4-alt5
 - Moved include directories (Closes: #38013).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189511</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-04-28 15:14:49 +0300</bug_when>
    <thetext>А что-нибудь мешает 1.15.4-alt5 и в p9 собрать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189512</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2020-04-28 15:52:01 +0300</bug_when>
    <thetext>(Ответ для Sergey Y. Afonin на комментарий #4)
&gt; А что-нибудь мешает 1.15.4-alt5 и в p9 собрать?
250765 AWAITING #1 p9 python-module-numpy.git=1.15.4-alt5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189577</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2020-04-30 08:32:00 +0300</bug_when>
    <thetext>(Ответ для Sergey Y. Afonin на комментарий #4)
&gt; А что-нибудь мешает 1.15.4-alt5 и в p9 собрать?

Мешает.
Задание ломает пересборку следующих пакетов:

btrack-1.0.0-alt1.hg20140708
ffc-1.6.0-alt1.dev.git20150430.1
gdal-2.2.3-alt3.1
h5py-2.9.0-alt1
pybind11-2.2.4-alt1
python-module-Scientific-2.9.3-alt2
python-module-arrayfns-24.2-alt7
python-module-bottleneck-1.2.1-alt1
python-module-cyrand-0.3-alt1.git20150228.1.1.1
python-module-geo-1.0.0-alt1.svn20080909.5
python-module-gnuplot-1.8-alt4.1
python-module-gts-0.3.1-alt2.svn20090606
python-module-jsonpickle-0.9.5-alt1.1
python-module-lmoments3-0.3.1-alt1.git20140925.1
python-module-matplotlib-2.2.3-alt3
python-module-mdp-3.4-alt2.git20140427
python-module-nifti-0.20090303.2-alt3.git20090924
python-module-pyamg-2.2.1-alt2
python-module-pyannote.core-0.3.4-alt1.git20150304.1.1
python-module-pycdf-0.6_0-alt7
python-module-pygsl-2.2.0-alt1
python-module-pyhacrf-0.1.2-alt1.1.1
python-module-pylbfgs-0.2.0.12-alt1
python-module-pysparse-1.3-alt1.git20130305
python-module-scikits.bootstrap-1.0.0-alt1.1
python-module-scikits.vectorplot-0.2-alt2.git20150130.1.1.1
python-module-seqlearn-0.2-alt2.1
python-module-shapely-1.5.17-alt1.post1.1.1.1
python3-module-scikit-image-0.15.0-alt1
python3-module-wavelets-1.0.2-alt2
uhd-3.14.1.1-alt1.1

Удаляю задание.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189581</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-04-30 10:20:11 +0300</bug_when>
    <thetext>(In reply to Andrey Cherepanov from comment #6)

&gt; &gt; А что-нибудь мешает 1.15.4-alt5 и в p9 собрать?
&gt; 
&gt; Мешает.
&gt; Задание ломает пересборку следующих пакетов:

Да, что-то много.

&gt; uhd-3.14.1.1-alt1.1

Как раз вот его хотелось обновить для обновления gpsd. А если все ломающиеся пакеты тоже обновить?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189594</commentid>
    <comment_count>8</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2020-04-30 15:13:47 +0300</bug_when>
    <thetext>(Ответ для Sergey Y. Afonin на комментарий #7)
&gt; (In reply to Andrey Cherepanov from comment #6)
&gt; 
&gt; &gt; &gt; А что-нибудь мешает 1.15.4-alt5 и в p9 собрать?
&gt; &gt; 
&gt; &gt; Мешает.
&gt; &gt; Задание ломает пересборку следующих пакетов:
&gt; 
&gt; Да, что-то много.
&gt; 
&gt; &gt; uhd-3.14.1.1-alt1.1
&gt; 
&gt; Как раз вот его хотелось обновить для обновления gpsd. А если все ломающиеся
&gt; пакеты тоже обновить?

Обновляйте.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189839</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-05-09 12:56:13 +0300</bug_when>
    <thetext>15 из них удалены из Sisyphus, в основном модули питона:

btrack-1.0.0-alt1.hg20140708
python-module-Scientific-2.9.3-alt2
python-module-cyrand-0.3-alt1.git20150228.1.1.1
python-module-gts-0.3.1-alt2.svn20090606
python-module-lmoments3-0.3.1-alt1.git20140925.1
python-module-mdp-3.4-alt2.git20140427
python-module-nifti-0.20090303.2-alt3.git20090924
python-module-pyamg-2.2.1-alt2
python-module-pyannote.core-0.3.4-alt1.git20150304.1.1
python-module-pycdf-0.6_0-alt7
python-module-pygsl-2.2.0-alt1
python-module-scikits.bootstrap-1.0.0-alt1.1
python-module-scikits.vectorplot-0.2-alt2.git20150130.1.1.1
python-module-seqlearn-0.2-alt2.1

Из них 4 есть в виде python3-*:

python3-module-mdp
python3-module-pyamg
python3-module-pyannote.core
python3-module-pygsl

Что-то пока не знаю, может правильнее uhd по старому собрать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189846</commentid>
    <comment_count>10</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-05-09 18:08:20 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #9)
&gt; 15 из них удалены из Sisyphus, в основном модули питона:
&gt; Из них 4 есть в виде python3-*:
&gt; 
&gt; python3-module-mdp
&gt; python3-module-pyamg
&gt; python3-module-pyannote.core
&gt; python3-module-pygsl
&gt; 
&gt; Что-то пока не знаю, может правильнее uhd по старому собрать.
А может быть уже пора обсуждать план выкидывания ненужных модулей python2 из p9?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>