[devel] vim-4:7.0.122-alt1: rebuild failed

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Окт 17 18:20:19 MSD 2006


On Tue, Oct 17, 2006 at 05:38:55PM +0400, Alexey I. Froloff wrote:
> * Alexey Tourbin <at@> [061017 17:37]:
> > > > > if_perl.c:799: error: static declaration of 'XS_VIM_Msg' follows non-static declaration
> > > > > if_perl.xs:750: error: previous declaration of 'XS_VIM_Msg' was here
> > > > > if_perl.c:840: error: static declaration of 'XS_VIM_SetOption' follows non-static declaration
> > > > > if_perl.xs:751: error: previous declaration of 'XS_VIM_SetOption' was here
> > > > ...
> > > > > if_perl.c:1459: error: static declaration of 'XS_VIBUF_Append' follows non-static declaration
> > > > > if_perl.xs:767: error: previous declaration of 'XS_VIBUF_Append' was here
> > > > Ой, аштойта???
> > > Боюсь что я виноват.
> > Но исправлять придется тебе. :)
> Как?  И что сказать апстриму?

В перле есть генератор сишного кода из *.xs файлов, типа препроцессор,
называется xsubpp, он же ExtUtils::ParseXS.  В 99% случаев все
функции-генераты (то есть с префиксом XS_$module_*; кроме одной, которая
называется boot_$module) не используются за пределами сгенеренного
сишного файла.  В общем я сделал все XS_* функции-генераты static по
умолчанию.

Варианты решения:
1) export XSUBPP_NO_STATIC_XS=1
2) подправить или убить опережающие определения

В твоем случае можно именно что убить, потому что они не нужны.

--- if_perl.xs-	2006-10-17 14:17:17 +0000
+++ if_perl.xs	2006-10-17 14:18:20 +0000
@@ -747,6 +747,7 @@ err:
     }
 }
 
+#if 0
 XS(XS_VIM_Msg);
 XS(XS_VIM_SetOption);
 XS(XS_VIM_DoCommand);
@@ -765,6 +766,7 @@ XS(XS_VIBUF_Get);
 XS(XS_VIBUF_Set);
 XS(XS_VIBUF_Delete);
 XS(XS_VIBUF_Append);
+#endif
 XS(boot_VIM);
 
     static void
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20061017/1aadbb32/attachment-0001.bin>


Подробная информация о списке рассылки Devel