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

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

    <bug>
          <bug_id>14578</bug_id>
          
          <creation_ts>2008-02-19 13:26:11 +0300</creation_ts>
          <short_desc>Insufficient error reporting in mono.req</short_desc>
          <delta_ts>2008-03-12 15:46:15 +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>rpm-build-mono</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>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vladimir V. Kamarzin">vvk</reporter>
          <assigned_to name="at@altlinux.org">at</assigned_to>
          <cc>darktemplar</cc>
    
    <cc>lav</cc>
    
    <cc>nbr</cc>
    
    <cc>sbolshakov</cc>
    
    <cc>shaba</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64155</commentid>
    <comment_count>0</comment_count>
    <who name="Vladimir V. Kamarzin">vvk</who>
    <bug_when>2008-02-19 13:26:11 +0300</bug_when>
    <thetext>Отваливается сборка некоего mono-приложения без какой-либо внятной диагностики:

Finding Requires (using /usr/lib/rpm/find-requires)
Executing(Requires): /bin/sh -e /usr/src/tmp/rpm-tmp.25404
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /usr/lib/rpm/find-requires
find-requires: running scripts
(files,lib,mono,monolib,pam,perl,pkgconfig,pkgconfiglib,python,shebang,shell,static,symlinks)
error: /bin/sh failed
error: Failed to find Requires


RPM build errors:
    /bin/sh failed
    Failed to find Requires
Command exited with non-zero status 1


Выяснить, в чём проблема, удалось только с помощью rpm -ba -vvv:

++ monodis --assemblyref
/usr/src/tmp/ide-buildroot/var/www/ido/ide/Bin/ISIDEControls.dll
+ out=&apos;The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/lib/mono/2.0/mscorlib.dll&apos;\&apos;&apos; directory.&apos;
+ exit_handler
+ local rc=1

$out должен выводиться даже если сборка идёт без -v|-vv|-vvv</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64211</commentid>
    <comment_count>1</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2008-02-20 17:10:09 +0300</bug_when>
    <thetext>Проблема в том что monodis выводит сообщение об ошибке не на stderr а на stdout.
Поэтому я не знаю стоит ли добавлять костыль в скрипт mono.req или же лучше
исправить вывод диагностики в monodis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64258</commentid>
    <comment_count>2</comment_count>
    <who name="Vladimir V. Kamarzin">vvk</who>
    <bug_when>2008-02-21 08:55:20 +0300</bug_when>
    <thetext>Мне больше нравится второй вариант.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65355</commentid>
    <comment_count>3</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2008-03-09 16:01:42 +0300</bug_when>
    <thetext>В glib2 нету простой функции вместо g_print(), которая могла бы печатать на
stderr вместо с stdout.  Короче, я решил не трогать код monodis(1), а добавил
специальную обрабтку ошибок monodis в mono.req.  Fixed in rpm-build-mono
1.3.2-alt1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65357</commentid>
    <comment_count>4</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2008-03-09 17:25:40 +0300</bug_when>
    <thetext>А вообще у вас следующая проблема (с вашим пакетом): вы пытаетесь запаковать
какой-то левый байткод, созданный не с помощью mono-mcs, а скомпилированный
заранее кем-то ещё.  Если бы код был скомпилирован с помощью mono-mcs, то по
зависимостям всё должно было бы срастись (т.к. mono-mcs требует mscorlib.dll,
которого у вас не найдено при запуске monodis).

Пожалуйста, не пакуйте левый байткод.  Это похоже на запаковку &quot;левых&quot; (ранее
скомпилированных) бинариков без компиляции исходников.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65358</commentid>
    <comment_count>5</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2008-03-09 17:28:59 +0300</bug_when>
    <thetext>Я также собираюсь перепилить пакет mono, чтобы monodis всегда работал (по
зависимостям сразу после установки).  По сути monodis требует mscorlib.dll. 
Точнее, обязательная инициализация mscorlib.dll содержится в коде libmono. 
Значит, скорее всего, придётся отпилить пакет mono-mscorlib и добавить на него
зависимость в libmono.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>