Bug#1027015: fixed in wxwidgets3.2 3.2.1+dfsg-4
This has resurfaced in 3.2.2, it seems that the upstream bug is still not fixed. This leads to FTBFS errors for openpcn like below, so important to me. Investigating. --- In file included from /usr/include/wx-3.2/wx/defs.h:550, from /usr/include/wx-3.2/wx/wxprec.h:12, from /home/mk/OpenCPN/OpenCPN/src/chartsymbols.cpp:27: /usr/include/wx-3.2/wx/matrix.h:44:1: error: expected identifier before ‘__attribute__’ 44 | WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject | ^~~~ In file included from /home/mk/OpenCPN/OpenCPN/include/bbox.h:9, from /home/mk/OpenCPN/OpenCPN/include/s52s57.h:31, from /home/mk/OpenCPN/OpenCPN/include/s52plib.h:31, from /home/mk/OpenCPN/OpenCPN/include/chartsymbols.h:28, from /home/mk/OpenCPN/OpenCPN/src/chartsymbols.cpp:36: /usr/include/wx-3.2/wx/matrix.h:44:35: error: expected initializer before ‘:’ token 44 | WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject
Bug#1027015: fixed in wxwidgets3.2 3.2.1+dfsg-4
I can work around this in the OpenCPN package using patch below, which solves my immediate problem However, it seems that the upstream solution to 22790 just does not compile in Debian, so this is still a bug IMHO. A little unsure if this then is a new bug, but since I already have reopened this and the issues are tightly coupled I leave it this way. -- diff --git a/include/bbox.h b/include/bbox.h index e7feeb9..79f1fb0 100644 --- a/include/bbox.h +++ b/include/bbox.h @@ -6,6 +6,12 @@ #include "wx/wx.h" #endif +// work around wxWidgets #22790 follow-up bug. + +#ifndef WXDLLIMPEXP_CORE +#define WXDLLIMPEXP_CORE __attribute__(visibility("default")) +#endif + #include "wx/matrix.h" #include "wx/geometry.h" On Mon, 6 Mar 2023 12:09:31 +0100 Alec Leamas wrote: This has resurfaced in 3.2.2, it seems that the upstream bug is still not fixed. This leads to FTBFS errors for openpcn like below, so important to me. Investigating. --- In file included from /usr/include/wx-3.2/wx/defs.h:550, from /usr/include/wx-3.2/wx/wxprec.h:12, from /home/mk/OpenCPN/OpenCPN/src/chartsymbols.cpp:27: /usr/include/wx-3.2/wx/matrix.h:44:1: error: expected identifier before ‘__attribute__’ 44 | WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject | ^~~~ In file included from /home/mk/OpenCPN/OpenCPN/include/bbox.h:9, from /home/mk/OpenCPN/OpenCPN/include/s52s57.h:31, from /home/mk/OpenCPN/OpenCPN/include/s52plib.h:31, from /home/mk/OpenCPN/OpenCPN/include/chartsymbols.h:28, from /home/mk/OpenCPN/OpenCPN/src/chartsymbols.cpp:36: /usr/include/wx-3.2/wx/matrix.h:44:35: error: expected initializer before ‘:’ token 44 | WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject
Bug#1027015: fixed in wxwidgets3.2 3.2.1+dfsg-4
On Mon, 6 Mar 2023, Alec Leamas wrote: In file included from /usr/include/wx-3.2/wx/defs.h:550, from /usr/include/wx-3.2/wx/wxprec.h:12, from /home/mk/OpenCPN/OpenCPN/src/chartsymbols.cpp:27: /usr/include/wx-3.2/wx/matrix.h:44:1: error: expected identifier before ‘__attribute__’ 44 | WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject | ^~~~ In file included from /home/mk/OpenCPN/OpenCPN/include/bbox.h:9, from /home/mk/OpenCPN/OpenCPN/include/s52s57.h:31, from /home/mk/OpenCPN/OpenCPN/include/s52plib.h:31, from /home/mk/OpenCPN/OpenCPN/include/chartsymbols.h:28, from /home/mk/OpenCPN/OpenCPN/src/chartsymbols.cpp:36: /usr/include/wx-3.2/wx/matrix.h:44:35: error: expected initializer before ‘:’ token 44 | WXDLLIMPEXP_CORE wxTransformMatrix: public wxObject Are you 100% positive that you're using the latest Debian package, and not an older package, or self-compiled wxWidgets? I ask because the error message above showing line 44 of matrix.h doesn't match line 44 in the latest Debian package. See here: https://sources.debian.org/src/wxwidgets3.2/3.2.2%2Bdfsg-2/include/wx/matrix.h/ Regards, Scott