On Wed, 14 Sep 2022 20:48:30 +0200, gregor herrmann wrote:
libalien-wxwidgets-perl (.69+dfsg-4 uploaded to experimental.
(0.69 …)
Next step: check what libwx-perl [0] says
Building libwx-perl against the libalien-wxwidgets-perl in
experimental ends rather quickly with:
dh_auto_configure
/usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -ffile-prefix-map=/build/libwx-perl-0.9932=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -ffile-prefix-map=/build/libwx-perl-0.9932=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now"
No such 'link' library: 'adv' at /build/libwx-perl-0.9932/build/Wx/build/MakeMaker.pm line 212.
======================================================================
For installation instructions and further help please see
docs/INSTALL.pod
For command line switches help use:
perl Makefile.PL --help
======================================================================
Looks like we need patch number 14 in debian/patches :)
First step:
% grep -r adv Makefile.PL build
Makefile.PL: WX_CORE_LIB => 'adv core base',
build/Wx/build/MakeMaker.pm:If not spedified, defaults to 'adv html core net base' for compatibility.
build/Wx/build/MakeMaker.pm: $args{WX_CORE_LIB} ||= 'adv html core net base';
Second step:
https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.2.0/docs/changes.txt
3.1.2: (released 2018-12-10)
- wxAdvanced library was merged into wxCore, simply remove all references
to "adv" from your build system, it is not needed any longer.
Third step:
Alright, patching out 'adv' from Makefile.PL and build/Wx/build/MakeMaker.pm
is not enough, now the build fails with
dh_auto_configure
/usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -ffile-prefix-map=/build/libwx-perl-0.9932=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -ffile-prefix-map=/build/libwx-perl-0.9932=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now"
Checking if your kit is complete...
Looks good
'WX' is not a known MakeMaker parameter name.
Writing MYMETA.yml and MYMETA.json
Writing MYMETA.yml and MYMETA.json
Writing MYMETA.yml and MYMETA.json
Writing MYMETA.yml and MYMETA.json
ERROR from evaluation of /build/libwx-perl-0.9932/ext/Makefile.PL: ERROR from evaluation of /build/libwx-perl-0.9932/ext/aui/Makefile.PL: No such 'link' library: 'adv' at /build/libwx-perl-0.9932/build/Wx/build/MakeMaker.pm line 212.
Writing MYMETA.yml and MYMETA.json
======================================================================
For installation instructions and further help please see
docs/INSTALL.pod
For command line switches help use:
perl Makefile.PL --help
======================================================================
And indeed, there's a lot of 'adv' in other files:
ext/ribbon/lib/Wx/Ribbon.pm: Wx::load_dll( 'adv' );
ext/ribbon/Makefile.PL: WX_CORE_LIB => 'ribbon adv core base',
ext/aui/lib/Wx/AUI.pm:Wx::load_dll( 'adv' );
ext/aui/Makefile.PL: WX_CORE_LIB => 'aui adv core base',
ext/calendar/Calendar.pm:Wx::load_dll( 'adv' );
ext/calendar/Makefile.PL: WX_CORE_LIB => 'adv core base',
ext/grid/lib/Wx/Grid.pm:Wx::load_dll( 'adv' );
ext/grid/Makefile.PL: WX_CORE_LIB => 'adv core base',
ext/propgrid/lib/Wx/PropertyGrid.pm: Wx::load_dll( 'adv' );
ext/propgrid/Makefile.PL: WX_CORE_LIB => 'propgrid adv core base',
ext/propgrid/PropertyGrid.xs:#include <wx/propgrid/advprops.h>
ext/dataview/DataView.pm:Wx::load_dll( 'adv' );
ext/dataview/Makefile.PL: WX_CORE_LIB => 'adv core base',
ext/xrc/lib/Wx/XRC.pm:Wx::load_dll( 'adv' );
ext/xrc/Makefile.PL: WX_CORE_LIB => 'xrc xml html adv core base',
ext/richtext/lib/Wx/RichText.pm:Wx::load_dll( 'adv' );
ext/richtext/Makefile.PL: WX_CORE_LIB => 'richtext html xml adv core base',
interface/wx/infobar.h: @library{wxadv}
interface/wx/bannerwindow.h: @library{wxadv}
interface/wx/grid/gridtablebase.h: @library{wxadv}
interface/wx/richtooltip.h: @library{wxadv}
interface/wx/dataview/dataviewvirtuallistmodel.h: @library{wxadv}
interface/wx/dataview/dataviewliststore.h: @library{wxadv}
interface/wx/dataview/dataviewlistctrl.h: @library{wxadv}
lib/Wx/Loader.pod: for my $dll ( qw( base core adv ) ) {
lib/Wx/Loader.pod: for my $dll ( qw( base core adv ) ) {
lib/Wx/Loader.pod: for my $dll ( qw( base core adv ) ) {
Fourth step:
Let's get rid of all WX_CORE_LIB … adv in all Makefile.PLs.
And we are getting further, configure passes, then the actual build
fails:
Event.c: In function 'void XS_Wx__PaintEvent_new(PerlInterpreter*, CV*)':
Event.c:3883:37: error: 'wxPaintEvent::wxPaintEvent(wxWindowBase*)' is private within this context
3883 | RETVAL = new wxPaintEvent(id);
| ^
In file included from Event.c:25:
/usr/include/wx-3.2/wx/event.h:2423:14: note: declared private here
2423 | explicit wxPaintEvent(wxWindowBase* window = NULL);
| ^~~~~~~~~~~~
Event.c:3883:35: error: invalid conversion from 'wxWindowID' {aka 'int'} to 'wxWindowBase*' [-fpermissive]
3883 | RETVAL = new wxPaintEvent(id);
| ^~
| |
| wxWindowID {aka int}
/usr/include/wx-3.2/wx/event.h:2423:41: note: initializing argument 1 of 'wxPaintEvent::wxPaintEvent(wxWindowBase*)'
2423 | explicit wxPaintEvent(wxWindowBase* window = NULL);
| ^
make[2]: *** [Makefile:452: Event.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Html.c: In function 'void XS_Wx__HtmlDCRenderer_Render(PerlInterpreter*, CV*)':
Html.c:1681:30: error: no matching function for call to 'wxHtmlDCRenderer::Render(int&, int&, wxArrayInt&, int&, int&, int&)'
1681 | RETVAL = THIS->Render(x, y, pagebreaks, from, dont_render, to);
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/wx-3.2/wx/html/helpwnd.h:32,
from /usr/include/wx-3.2/wx/html/helpfrm.h:31,
from /usr/include/wx-3.2/wx/html/helpctrl.h:19,
from Html.c:1110:
/usr/include/wx-3.2/wx/html/htmprint.h:78:10: note: candidate: 'void wxHtmlDCRenderer::Render(int, int, int, int)'
78 | void Render(int x, int y, int from = 0, int to = INT_MAX);
| ^~~~~~
/usr/include/wx-3.2/wx/html/htmprint.h:78:10: note: candidate expects 4 arguments, 6 provided
make[4]: *** [Makefile:346: Html.o] Error 1
make[4]: Leaving directory '/build/libwx-perl-0.9932/ext/html'
make[3]: *** [Makefile:499: subdirs] Error 2
make[3]: Leaving directory '/build/libwx-perl-0.9932/ext'
make[2]: *** [Makefile:679: subdirs] Error 2
Warning: duplicate function definition 'GetSelection' detected in XS/ComboBox.xs, line 184
Warning: duplicate function definition 'SetSelection' detected in XS/ComboBox.xs, line 203
Constant.c:3156:13: warning: wxPG_FILE_DIALOG_TITLE is deprecated. Use wxPG_DIALOG_TITLE instead.
3156 | wxPli_make_const_string( wxPG_FILE_DIALOG_TITLE ); // propgrid
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Constant.c:3157:13: warning: wxPG_DIR_DIALOG_MESSAGE is deprecated. Use wxPG_DIALOG_TITLE instead.
3157 | wxPli_make_const_string( wxPG_DIR_DIALOG_MESSAGE ); // propgrid
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Constant.c: In function 'double constant(const char*, int)':
Constant.c:2045:8: error: 'wxLOCALE_CONV_ENCODING' was not declared in this scope
2045 | r( wxLOCALE_CONV_ENCODING ); // locale
| ^~~~~~~~~~~~~~~~~~~~~~
Constant.c:792:16: note: in definition of macro 'r'
792 | return n;
| ^
Constant.c:2368:8: error: 'wxNB_FLAT' was not declared in this scope; did you mean 'wxTB_FLAT'?
2368 | r( wxNB_FLAT ); // notebook
| ^~~~~~~~~
Constant.c:792:16: note: in definition of macro 'r'
792 | return n;
| ^
Constant.c:2795:8: error: 'wxTB_3DBUTTONS' was not declared in this scope; did you mean 'wxTR_NO_BUTTONS'?
2795 | r( wxTB_3DBUTTONS ); // toolbar
| ^~~~~~~~~~~~~~
Constant.c:792:16: note: in definition of macro 'r'
792 | return n;
| ^
Constant.c:2896:8: error: 'wxTINY_CAPTION_HORIZ' was not declared in this scope; did you mean 'wxTINY_CAPTION'?
2896 | r( wxTINY_CAPTION_HORIZ ); // miniframe
| ^~~~~~~~~~~~~~~~~~~~
Constant.c:792:16: note: in definition of macro 'r'
792 | return n;
| ^
Constant.c:2897:8: error: 'wxTINY_CAPTION_VERT' was not declared in this scope; did you mean 'wxTINY_CAPTION'?
2897 | r( wxTINY_CAPTION_VERT ); // miniframe
| ^~~~~~~~~~~~~~~~~~~
Constant.c:792:16: note: in definition of macro 'r'
792 | return n;
| ^
make[2]: *** [Makefile:452: Constant.o] Error 1
mv Controls.xsc Controls.c
make[2]: Leaving directory '/build/libwx-perl-0.9932'
dh_auto_build: error: make -j4 returned exit code 2
So, hm, yeah, I guess this needs some more fixes and some more
knowledge about wxWidegts …