[devel] Ошибка при сборке wxPerl

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Июн 26 18:54:11 MSD 2006


On Mon, Jun 26, 2006 at 05:17:09PM +0300, Slava Dubrovskiy wrote:
> Alexey Tourbin пишет:
> >> #
> >> /usr/src/tmp/perl-Wx-buildroot/usr/lib/perl5/vendor_perl/i386-linux/Wx/Calendar.pm:
> >> deparse failed, trying to recover with -MWx
> >> #
> >> /usr/src/tmp/perl-Wx-buildroot/usr/lib/perl5/vendor_perl/i386-linux/Wx/Calendar.pm:
> >> deparse failed.
> >> prefix=/usr/src/tmp/perl-Wx-buildroot/usr/lib/perl5/vendor_perl/i386-linux
> >> error: /bin/sh failed
> >> error: Failed to find Requires
> >>     
> >
> > Проблема локализована, это SEGV при отсутствии DISPLAY.
> >
> > at на localhost ~build/Wx-0.26 12 $ perl -Mblib -c blib/lib/Wx/Calendar.pm
> > blib/lib/Wx/Calendar.pm syntax OK
> > at на localhost ~build/Wx-0.26 12 $ DISPLAY= perl -Mblib -c blib/lib/Wx/Calendar.pm
> > zsh: segmentation fault  DISPLAY= perl -Mblib -c blib/lib/Wx/Calendar.pm
> > at на localhost ~build/Wx-0.26 12 $ 
> >   
> Спасибо. Как быть в таком случае?

Ну как быть у случае взятия значения по нулевому адресу?  Надо
постараться не брать значения по нулевому адресу.  В общем как в аттаче
прцеплено в хешере собирается -- с ужасной руганью, но собирается.
Отошлите им патч в апстрим, скажите, что проверка синтаксиса perl -c
без DISPLAY'я не работает.

ЗЫ:  УНИМАНИЕ УСЕМ!!  Починю любой пакет умеренной сложности за ящик
пива aka $20.
----------- следующая часть -----------
--- Wx-0.26/Constant.xs-	2005-11-19 02:19:10 +0300
+++ Wx-0.26/Constant.xs	2006-06-26 18:29:45 +0400
@@ -2162,41 +2162,55 @@ void SetConstants()
     //
     // Predefined colours
     //
+if (wxRED)
     wxPli_set_const( "wxRED", "Wx::Colour", new wxColour( *wxRED ) );
+if (wxGREEN)
     wxPli_set_const( "wxGREEN", "Wx::Colour", new wxColour( *wxGREEN ) );
+if (wxBLUE)
     wxPli_set_const( "wxBLUE", "Wx::Colour", new wxColour( *wxBLUE ) );
+if (wxBLACK)
     wxPli_set_const( "wxBLACK", "Wx::Colour", new wxColour( *wxBLACK ) );
+if (wxWHITE)
     wxPli_set_const( "wxWHITE", "Wx::Colour", new wxColour( *wxWHITE ) );
+if (wxCYAN)
     wxPli_set_const( "wxCYAN", "Wx::Colour", new wxColour( *wxCYAN ) );
+if (wxLIGHT_GREY)
     wxPli_set_const( "wxLIGHT_GREY", "Wx::Colour",
                      new wxColour( *wxLIGHT_GREY ) );
 
     //
     // predefined cursors
     //
+if (wxSTANDARD_CURSOR)
     wxPli_set_const( "wxSTANDARD_CURSOR", "Wx::Cursor",
                      new wxCursor( *wxSTANDARD_CURSOR ) );
+if (wxHOURGLASS_CURSOR)
     wxPli_set_const( "wxHOURGLASS_CURSOR", "Wx::Cursor",
                      new wxCursor( *wxHOURGLASS_CURSOR ) );
+if (wxCROSS_CURSOR)
     wxPli_set_const( "wxCROSS_CURSOR", "Wx::Cursor",
                      new wxCursor( *wxCROSS_CURSOR ) );
 
     //
     // predefined fonts
     //
+if (wxNORMAL_FONT)
     wxPli_set_const( "wxNORMAL_FONT", "Wx::Font",
                      new wxFont( *wxNORMAL_FONT ) );
+if (wxSMALL_FONT)
     wxPli_set_const( "wxSMALL_FONT", "Wx::Font",
                      new wxFont( *wxSMALL_FONT ) );
+if (wxITALIC_FONT)
     wxPli_set_const( "wxITALIC_FONT", "Wx::Font",
                      new wxFont( *wxITALIC_FONT ) );
+if (wxSWISS_FONT)
     wxPli_set_const( "wxSWISS_FONT", "Wx::Font",
                      new wxFont( *wxSWISS_FONT ) );
 
     //
     // predefined pens
     //
-    #define DEFINE_PEN( pen ) \
+    #define DEFINE_PEN( pen ) if (pen) \
         wxPli_set_const( #pen, "Wx::Pen", new wxPen( *pen ) )
 
     DEFINE_PEN( wxRED_PEN );
@@ -2215,7 +2229,7 @@ void SetConstants()
     //
     // Predefined brushes
     //
-    #define DEFINE_BRUSH( brush ) \
+    #define DEFINE_BRUSH( brush ) if (brush) \
         wxPli_set_const( #brush, "Wx::Brush", new wxBrush( *brush ) )
 
     DEFINE_BRUSH( wxBLUE_BRUSH );
----------- следующая часть -----------
Name: perl-Wx
Version: 0.26
Release: alt0
Summary: wxPerl - Perl bindings for wxWindows 
License: GPL
Group: System/Libraries
Source: http://prdownloads.sourceforge.net/wxperl/Wx-%version.tar.gz
Url: http://wxperl.sourceforge.net/

Patch0: perl-Wx-0.26-alt-SetConstants.patch

# Added by buildreq2 on Mon Jun 26 2006
BuildRequires: gcc-c++ icon-theme-hicolor libXcursor-devel libpango-devel perl-Storable perl-Test-Pod perl-YAML wxGTK2u-contrib-stc-devel wxGTK2u-devel xvfb-run

%description
wxPerl is a Perl module wrapping the awesome wxWindows library
for cross-platform GUI developement.

%prep
%setup -q -n Wx-%version
%patch0 -p1

%build
%def_without test
%perl_vendor_build
xvfb-run -a make test

%install
%perl_vendor_install

%files
%doc README.txt docs/todo.txt Changes
%perl_vendor_archlib/Wx*
%perl_vendor_autolib/Wx*

%changelog
* Wed Jun 21 2006 Slava Dubrovskiy <dubrsl на altlinux.ru> 0.26-alt0
- 0.26
- Update spec

* Sat May 13 2006 Valentyn Solomko <val на pere.org.ua> 0.2.0.060513
- First build for ALTLinux.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060626/bd1c195c/attachment-0001.bin>


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