Opened 4 years ago

Closed 2 years ago

#61588 closed defect (fixed)

p5.28-wx: error: unknown type name 'class'

Reported by: NozomuIshiguro (Nozomu Ishiguro) Owned by: mojca (Mojca Miklavec)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc: nomennudum (Roger Hayter), tkaty22, JeanJackPg, jmroot (Joshua Root), jithingopakumar (Jithin Gopakumar)
Port: p5-wx

Description

From the log file (as follows):

--->  Building p5.28-wx
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932" && /usr/bin/make -j8 -w all 
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932'
"/opt/local/bin/perl5.28" -MExtUtils::Command::MM -e 'cp_nonempty' -- Wx.bs blib/arch/auto/Wx/Wx.bs 644
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   Wx.c
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   Constant.c
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   Controls.c
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   Event.c
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   Frames.c
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   GDI.c
/usr/bin/clang -c  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.9932\" -DXS_VERSION=\"0.9932\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE"  -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   Window.c
"/opt/local/bin/perl5.28" script/fix_alien_path.pl lib/Wx/Mini.pm blib/lib/Wx/Mini.pm
In file included from Constant.c:31:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/filedlg.h:18:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/dialog.h:14:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/toplevel.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/nonownedwnd.h:14:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/window.h:18:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/event.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
touch wxt_fix_alien
make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/ext'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/ext/datetime'
"/opt/local/bin/perl5.28" -MExtUtils::Command::MM -e 'cp_nonempty' -- DateTime.bs ../../blib/arch/auto/Wx/DateTime/DateTime.bs 644
/usr/bin/clang -c -I. -I.. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -I. -I. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0   -I. -I../.. -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/include/osx_cocoa-unicode-3.0 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\"  "-I/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE" -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__    -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__   DateTime.c
In file included from Controls.c:23:
In file included from ./cpp/wxapi.h:170:
In file included from ./cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
In file included from Wx.c:32:
In file included from ./cpp/wxapi.h:170:
In file included from ./cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
In file included from Event.c:23:
In file included from ./cpp/wxapi.h:170:
In file included from ./cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from Frames.c:23:
In file included from ./cpp/wxapi.h:170In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
:
In file included from ./cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
In file included from GDI.c:24:
In file included from ./cpp/wxapi.h:170:
In file included from ./cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: class wxCharBuffer : public wxCharTypeBuffer<char>error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: 
^
expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
In file included from Window.c:23:
In file included from ./cpp/wxapi.h:170:
In file included from ./cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
15                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from DateTime.c:23:
In file included from ../../cpp/wxapi.h:170:
In file included from ../../cpp/helpers.h:16:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/object.h:19:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/memory.h:15:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/string.h:46:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strvararg.h:20:
In file included from /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/strconv.h:17:
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:19:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:27:20: error: expected ';' after top level declarator
namespace wxPrivate
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:241:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<char> wxScopedCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:9: error: unknown type name 'wxScopedCharTypeBuffer'
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
        ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:242:31: error: expected identifier or '('
typedef wxScopedCharTypeBuffer<wchar_t> wxScopedWCharBuffer;
                              ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:246:10: error: expected identifier or '('
template <typename T>
         ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:1: error: unknown type name 'class'
class wxCharBuffer : public wxCharTypeBuffer<char>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:20: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                   ^
                   ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:22: error: unknown type name 'public'
class wxCharBuffer : public wxCharTypeBuffer<char>
                     ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:360:45: error: expected ';' after top level declarator
class wxCharBuffer : public wxCharTypeBuffer<char>
                                            ^
                                            ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:1: error: unknown type name 'class'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:21: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                    ^
                    ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:23: error: unknown type name 'public'
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                      ^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:380:46: error: expected ';' after top level declarator
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
                                             ^
                                             ;
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:1: error: unknown type name 'template'
template <typename T>
^
/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/include/wx-3.0/wx/buffer.h:398:10: error: expected identifier or '('
template <typename T>
         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
20 errors generated.
make: *** [Event.o] Error 1
make: *** Waiting for unfinished jobs....
make[2]: *** [DateTime.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/ext/datetime'
make[1]: *** [subdirs] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/ext'
make: *** [subdirs] Error 2
20 errors generated.
make: *** [Constant.o] Error 1
20 errors generated.
make: *** [Frames.o] Error 1
20 errors generated.
20 errors generated.
make: *** [Window.o] Error 1
make: *** [GDI.o] Error 1
20 errors generated.
make: *** [Controls.o] Error 1
20 errors generated.
make: *** [Wx.o] Error 1
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932" && /usr/bin/make -j8 -w all 
Exit code: 2
Error: Failed to build p5.28-wx: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-wx/p5.28-wx/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port p5.28-wx failed

Attachments (1)

patch-C-Compiler-Used-For-C++.diff (15.8 KB) - added by jptbtpj 3 years ago.
Patch to ensure $(CCCMD) to points to a C++ compiler.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 4 years ago by jmroot (Joshua Root)

Keywords: bigsur added; bigger removed
Owner: set to mojca
Port: p5-wx added; p5.28-wx removed
Status: newassigned

comment:2 Changed 4 years ago by nomennudum (Roger Hayter)

Cc: nomennudum added

comment:3 Changed 4 years ago by MaddTheSane (C.W. Betts)

It looks like C code is trying to import a C++ header.

Changed 3 years ago by jptbtpj

Patch to ensure $(CCCMD) to points to a C++ compiler.

comment:4 Changed 3 years ago by jptbtpj

Hi,

I've been trying to trace this issue [and as I did not know anything about the internals of MacPorts or MakeMaker, it's been interesting! ;-)], and the problem does indeed occur due to the XS generated C++ files being compiled by CLANG in C mode. Basically the setup (perl Makefile.PL) is run fine, and after that stage, the Makefile contains this line:

CC = /usr/bin/clang++ -UWX_PRECOMP

Then it looks like the post-configure step in the perl5 group script [macports-ports/_resources/port1.0/group/perl5-1.0.tcl] is run according to the log:

:debug:configure Executing proc-post-org.macports.configure-configure-0
:info:configure Fixing flags in Makefile
[...]
:info:configure --->  Patching Makefile: s|^(CC *=).*|\1 /usr/bin/clang|
:debug:configure Executing reinplace: /usr/bin/sed -E {s|^(CC *=).*|\1 /usr/bin/clang|} </opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/Makefile >@file20
:debug:configure euid/egid changed to: 0/0
:debug:configure chowned /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/Makefile to macports
:debug:configure euid/egid changed to: 503/501
:debug:configure euid/egid changed to: 0/0
:debug:configure setting attributes on /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-wx/p5.28-wx/work/Wx-0.9932/Makefile
:debug:configure euid/egid changed to: 503/501

which causes the C++ compiler to be replaced by the C compiler. The Makefile ends up with the replaced definition:

  CC = /usr/bin/clang

When the script then proceeds to the 'make' stage, it naturally fails, as the Makefile clearly needs CC to be a C++ compiler for Wx (all the implicit patterns for .c/.cpp/.cxx/.cc/.C use $(CCCMD), which again uses $(CC)).

If you try a manual configuration and build of the exact same source code, it builds fine (and uses C++).

The root cause seems to be commit 7080039472288d673d7b7cbd261095768bdc458f of _resources/port1.0/group/perl5-1.0.tcl by Joshua Root <jmr@…> on the 30th of Jan, 2020, which inserted this line in the Perl5 port group's post-configure:

 reinplace -locale C -q -E "s|^(CC *=).*|\\1 ${configure.cc}|" ${file}

It is possible to fix the problem locally, by adding code to the Makefile.PLs - it works around the global replacement by adding a XCC make variable, and generally looks like this:

package MY;
  sub const_config {
    my $inherited = shift->SUPER::const_config(@ARG);
    my ($cc) = $inherited =~ m/\nCC\s*=\s*([^\n]*)/;
    $inherited .= "\nXCC = $cc";
    $inherited;
  }
  sub const_cccmd {
    my $inherited = shift->SUPER::const_cccmd(@ARG);
    $inherited =~ s/\$\(CC\)/\$(XCC)/;
    $inherited;
  }

Most of the Makefile.PLs need to be patched, see the proposed patch file patch-C-Compiler-Used-For-C++.diff. It can be activated by adding this line to the Portfile:

    patchfiles      patch-C-Compiler-Used-For-C++.diff

This fix does disable the effect of the earlier reinplace fix, whatever issue that was intended to address, so it might cause failures in some configurations; however, compiling C++ with a C compiler will always fail anyway...

I hope you can use this suggestion...

comment:5 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: tkaty22 added
Keywords: bigsur removed
Summary: p5.28-wx: Build error on MacPorts 2.6.4 on Big Surp5.28-wx: error: unknown type name 'class'

Has duplicate #64731.

comment:6 in reply to:  4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: JeanJackPg added

Replying to jptbtpj:

Basically the setup (perl Makefile.PL) is run fine, and after that stage, the Makefile contains this line:

CC = /usr/bin/clang++ -UWX_PRECOMP

Then it looks like the post-configure step in the perl5 group script [macports-ports/_resources/port1.0/group/perl5-1.0.tcl] is run [...]

which causes the C++ compiler to be replaced by the C compiler. The Makefile ends up with the replaced definition:

  CC = /usr/bin/clang

Obviously it's silly for a build system to define CC to be a C++ compiler. The variable CC is for defining the C compiler. If one wants to use a C++ compiler, one should be using the variable CXX. The perl5 portgroup can't possibly be expected to know that a build system is misusing the CC variable...

At least one problem seems to be in build/Wx/build/MakeMaker/Any_wx_config.pm where it says:

  $config{CC} = $ENV{CXX} || Alien::wxWidgets->compiler;

comment:7 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jmroot added

p5-wx uses MakeMaker, and I'm unclear whether MakeMaker supports using C++ at all. As far as I can tell, it does not. This writeup from 2001 about how to shoehorn C++ support into MakeMaker says to do what p5-wx is already doing, setting CC to be the C++ compiler. MakeMaker doesn't seem to have a CXX sertting. (When I tried to patch Any_wx_config.pm to set it, I got 'CXX' is not a known MakeMaker parameter name.) Then there's this discussion and patch from 2003 adding more official C++ support to MakeMaker but it appears to have been rejected. I also found this writeup from 2010 about the insanity of getting MakeMaker to support C++. Some of these talk about adding -C++ to XSOPT which p5-wx does not do but that's fine since man xsubpp says -C++ doesn't do anything at all.

Where I think that leaves us, not just for fixing this problem but the same problem in any other C++ perl modules, is that we do in fact have to make the perl5 portgroup aware of this situation and handle it properly. We cannot just replace CC with the C compiler like we are currently doing. A solution that occurs to me is that it would decide based on whether the existing value of CC contains ++ whether to set it to the C compiler or the C++ compiler. Or, since Josh said in [7080039472288d673d7b7cbd261095768bdc458f/macports-ports] that the problem was that MakeMaker was setting CC in the main Makefile but not in Makefiles in subdirectories, a solution could be to capture the correct CC value from the main Makefile and insert it into the sub-Makefiles.

However, p5-wx has many sub-Makefiles and MakeMaker appears to be inserting CC properly into all of them. The commit message said p5-encode was affected; I am unable to reproduce a problem with p5-encode either. (I tested on macOS 10.15.7 by reverting Josh's change to the perl5 portgroup and then configuring using a non-default compiler (e.g. sudo port configure p5.28-encode configure.compiler=macports-clang-9.0) and then checking the work directory for all compiler paths (grep bin/clang -r $(port work p5.28-encode)). All compiler references are indeed to MacPorts clang 9.0 as they should be. There are no references to /usr/bin/clang which had built perl5.28.

So Josh... Do you remember any more about the problem you were fixing with that commit? Can you still reproduce the problem if you revert your commit? If not can we revert your commit to resolve this ticket?

comment:8 Changed 3 years ago by jmroot (Joshua Root)

Yes, I can still reproduce the issue with p5.28-encode if I comment out that line. Many things are compiled with /usr/bin/cc as baked into perl, rather than the correct configure.compiler value of /usr/bin/clang, because all the Makefiles in subdirs contain CC = /usr/bin/cc.

comment:9 Changed 2 years ago by jmroot (Joshua Root)

Possibilities:

  • Set configure.cc ${configure.cxx} -UWX_PRECOMP in the Portfile
  • Add a post-configure reinplace to the Portfile that does what the perl portgroup does but with the desired values

comment:10 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jithingopakumar added

Has duplicate #65347.

comment:11 Changed 2 years ago by jmroot (Joshua Root)

In 4f5f86983582c5a7b3112299bbe87ded45628208/macports-ports (master):

p5-wx: attempt to use the needed compiler

See: #61588

comment:12 Changed 2 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.