On Sun, Nov 16, 2003 at 08:50:59PM +0300, Dmitry V. Levin wrote: > > > Prototype mismatch: sub main::error ($;$%) vs (@) at /usr/src/RPM/tmp/autoconf_2.5-buildroot/usr/bin/autoheader-2.5 line 46 > > > main::BEGIN() called at /usr/share/autoconf-2.5/Autom4te/General.pm line 46 > > > eval {...} called at /usr/share/autoconf-2.5/Autom4te/General.pm line 46 > > > > Такое впечатление, что он цепляет сам себя старого. > > Об этом я уже догадался. > Как это лучше исправить? Эту задачу, возможно, удастся решить в общем виде. Следующим образом: при запуске deparse процесса можно подргужать модуль, который будет "дурить" @INC. На стадии BEGIN{} сохранять текущее значение @INC, а на стадии INIT{} проверять, не изменился ли @INC. Если изменился, то модифицировать его таким образом, чтобы добавлять пути с $RPM_BUILD_ROOT в начало списка. Попробую на днях это сделать. Таким же образом, возможно, удастся решить проблему exec in BEGIN{}, подставляя "липовую" функцию exec.