Bug 192365 - x11-toolkits/py-wxPython30 build fails
Summary: x11-toolkits/py-wxPython30 build fails
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Antoine Brodin
URL: http://bugs.python.org/issue17120
Keywords:
: 191666 192707 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-08-03 21:07 UTC by oliver
Modified: 2015-04-17 10:38 UTC (History)
3 users (show)

See Also:
mva: exp-run?


Attachments
proposed patch (3.13 KB, patch)
2014-09-06 15:31 UTC, Antoine Brodin
no flags Details | Diff
updated patch (3.52 KB, patch)
2014-09-12 08:37 UTC, Antoine Brodin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description oliver 2014-08-03 21:07:09 UTC
FreeBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r269442:269449: Sun Aug  3 01:18:07 CEST 2014     
/usr/obj/usr/src/sys/GENERIC  amd64


[/usr/ports/x11-toolkits/py-wxPython30]# make install
===>  Building for py27-wxPython30-3.0.0.0
WARNING: WXWIN not set in environment. Assuming '..'
Preparing CORE...
Preparing STC...
Preparing GLCANVAS...
Preparing GIZMOS...
running build
running build_py
copying wx/__version__.py -> build/lib.freebsd-11.0-CURRENT-amd64-2.7/wx
copying wx/build/build_options.py -> build/lib.freebsd-11.0-CURRENT-amd64-2.7/wx/build
package init file 'wx/tools/XRCed/plugins/__init__.py' not found (or not a regular file)
running build_ext
building '_core_' extension
cc -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -DSWIG_TYPE_TABLE=_wxPython_table -DSWIG_PYTHON_OUTPUT_TUPLE -DWXP_USE_THREAD=1 -UNDEBUG -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -D_THREAD_SAFE -D_THREAD_SAFE -Iinclude -Isrc -I/usr/local/lib/wx/include/gtk2-unicode-3.0 -I/usr/local/include/wx-3.0 -I/usr/local/include/gtk-2.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng15 -I/usr/local/include/pango-1.0 -I/usr/local/include/glib-2.0 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include/python2.7 -c src/helpers.cpp -o build/temp.freebsd-11.0-CURRENT-amd64-2.7/src/helpers.o -O3 -pthread
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:45:
/usr/local/include/wx-3.0/wx/wxcrtbase.h:680:53: error: use of undeclared identifier 'wcsdup'
inline wchar_t* wxStrdup(const wchar_t *s) { return wxCRT_StrdupW(s); }
                                                    ^
/usr/local/include/wx-3.0/wx/wxcrtbase.h:183:27: note: expanded from macro 'wxCRT_StrdupW'
    #define wxCRT_StrdupW wcsdup
                          ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:173:66: error: use of undeclared identifier 'strnlen'
inline size_t wxStrnlen(const char *str, size_t maxlen) { return wxCRT_StrnlenA(str, maxlen); }
                                                                 ^
/usr/local/include/wx-3.0/wx/wxcrtbase.h:237:29: note: expanded from macro 'wxCRT_StrnlenA'
    #define wxCRT_StrnlenA  strnlen
                            ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:187:69: error: use of undeclared identifier 'wcsnlen'
inline size_t wxStrnlen(const wchar_t *str, size_t maxlen) { return wxCRT_StrnlenW(str, maxlen); }
                                                                    ^
/usr/local/include/wx-3.0/wx/wxcrtbase.h:241:29: note: expanded from macro 'wxCRT_StrnlenW'
    #define wxCRT_StrnlenW  wcsnlen
                            ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:43: error: use of undeclared identifier 'wcscasecmp'; did you mean 'strcasecmp'?
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
                                          ^~~~~~~~~~~~~~
                                          strcasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:265:32: note: expanded from macro 'wxCRT_StricmpW'
        #define wxCRT_StricmpW wcscasecmp
                               ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:347:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2); }                                 \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:324:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                   ^
/usr/include/strings.h:60:6: note: 'strcasecmp' declared here
int      strcasecmp(const char *, const char *) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:1: error: cannot initialize a parameter of type 'const char *' with an lvalue of type 'const wchar_t *'
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:347:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2); }                                 \
                                   ^~
/usr/local/include/wx-3.0/wx/wxcrt.h:324:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                        ^
/usr/include/strings.h:60:29: note: passing argument to parameter here
int      strcasecmp(const char *, const char *) __pure;
                                ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:43: error: use of undeclared identifier 'wcscasecmp'; did you mean 'strcasecmp'?
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
                                          ^~~~~~~~~~~~~~
                                          strcasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:265:32: note: expanded from macro 'wxCRT_StricmpW'
        #define wxCRT_StricmpW wcscasecmp
                               ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:351:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2.data()); }                          \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:324:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                   ^
/usr/include/strings.h:60:6: note: 'strcasecmp' declared here
int      strcasecmp(const char *, const char *) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:1: error: cannot initialize a parameter of type 'const char *' with an lvalue of type 'const wchar_t *'
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:351:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2.data()); }                          \
                                   ^~
/usr/local/include/wx-3.0/wx/wxcrt.h:324:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                        ^
/usr/include/strings.h:60:29: note: passing argument to parameter here
int      strcasecmp(const char *, const char *) __pure;
                                ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:43: error: use of undeclared identifier 'wcscasecmp'; did you mean 'strcasecmp'?
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
                                          ^~~~~~~~~~~~~~
                                          strcasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:265:32: note: expanded from macro 'wxCRT_StricmpW'
        #define wxCRT_StricmpW wcscasecmp
                               ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:365:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:324:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                   ^
/usr/include/strings.h:60:6: note: 'strcasecmp' declared here
int      strcasecmp(const char *, const char *) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:1: error: cannot initialize a parameter of type 'const char *' with an rvalue of type 'const CharType *' (aka 'const wchar_t *')
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:365:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                                   ^~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:324:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                        ^
/usr/include/strings.h:60:29: note: passing argument to parameter here
int      strcasecmp(const char *, const char *) __pure;
                                ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:43: error: use of undeclared identifier 'wcscasecmp'; did you mean 'strcasecmp'?
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
                                          ^~~~~~~~~~~~~~
                                          strcasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:265:32: note: expanded from macro 'wxCRT_StricmpW'
        #define wxCRT_StricmpW wcscasecmp
                               ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:369:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:324:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                   ^
/usr/include/strings.h:60:6: note: 'strcasecmp' declared here
int      strcasecmp(const char *, const char *) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:459:1: error: cannot initialize a parameter of type 'const char *' with an rvalue of type 'const CharType *' (aka 'const wchar_t *')
WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:369:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                                   ^~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:324:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2)
                                        ^
/usr/include/strings.h:60:29: note: passing argument to parameter here
int      strcasecmp(const char *, const char *) __pure;
                                ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:45: error: use of undeclared identifier 'wcsncasecmp'; did you mean 'strncasecmp'?
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
                                            ^~~~~~~~~~~~~~~
                                            strncasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:268:33: note: expanded from macro 'wxCRT_StrnicmpW'
        #define wxCRT_StrnicmpW wcsncasecmp
                                ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:347:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2); }                                 \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:520:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                   ^
/usr/include/strings.h:61:6: note: 'strncasecmp' declared here
int      strncasecmp(const char *, const char *, size_t) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:1: error: cannot initialize a parameter of type 'const char *' with an lvalue of type 'const wchar_t *'
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:347:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2); }                                 \
                                   ^~
/usr/local/include/wx-3.0/wx/wxcrt.h:520:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                        ^
/usr/include/strings.h:61:30: note: passing argument to parameter here
int      strncasecmp(const char *, const char *, size_t) __pure;
                                 ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:45: error: use of undeclared identifier 'wcsncasecmp'; did you mean 'strncasecmp'?
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
                                            ^~~~~~~~~~~~~~~
                                            strncasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:268:33: note: expanded from macro 'wxCRT_StrnicmpW'
        #define wxCRT_StrnicmpW wcsncasecmp
                                ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:351:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2.data()); }                          \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:520:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                   ^
/usr/include/strings.h:61:6: note: 'strncasecmp' declared here
int      strncasecmp(const char *, const char *, size_t) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:1: error: cannot initialize a parameter of type 'const char *' with an lvalue of type 'const wchar_t *'
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:351:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1, s2.data()); }                          \
                                   ^~
/usr/local/include/wx-3.0/wx/wxcrt.h:520:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                        ^
/usr/include/strings.h:61:30: note: passing argument to parameter here
int      strncasecmp(const char *, const char *, size_t) __pure;
                                 ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:45: error: use of undeclared identifier 'wcsncasecmp'; did you mean 'strncasecmp'?
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
                                            ^~~~~~~~~~~~~~~
                                            strncasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:268:33: note: expanded from macro 'wxCRT_StrnicmpW'
        #define wxCRT_StrnicmpW wcsncasecmp
                                ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:365:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:520:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                   ^
/usr/include/strings.h:61:6: note: 'strncasecmp' declared here
int      strncasecmp(const char *, const char *, size_t) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:1: error: cannot initialize a parameter of type 'const char *' with an rvalue of type 'const CharType *' (aka 'const wchar_t *')
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:365:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                                   ^~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:520:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                        ^
/usr/include/strings.h:61:30: note: passing argument to parameter here
int      strncasecmp(const char *, const char *, size_t) __pure;
                                 ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:45: error: use of undeclared identifier 'wcsncasecmp'; did you mean 'strncasecmp'?
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
                                            ^~~~~~~~~~~~~~~
                                            strncasecmp
/usr/local/include/wx-3.0/wx/wxcrtbase.h:268:33: note: expanded from macro 'wxCRT_StrnicmpW'
        #define wxCRT_StrnicmpW wcsncasecmp
                                ^
/usr/local/include/wx-3.0/wx/wxcrt.h:402:44: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
                                           ^
/usr/local/include/wx-3.0/wx/wxcrt.h:369:30: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                             ^
/usr/local/include/wx-3.0/wx/wxcrt.h:520:36: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                   ^
/usr/include/strings.h:61:6: note: 'strncasecmp' declared here
int      strncasecmp(const char *, const char *, size_t) __pure;
         ^
In file included from src/helpers.cpp:17:
In file included from include/wx/wxPython/wxPython_int.h:35:
In file included from /usr/local/include/wx-3.0/wx/wx.h:15:
In file included from /usr/local/include/wx-3.0/wx/object.h:19:
In file included from /usr/local/include/wx-3.0/wx/memory.h:15:
In file included from /usr/local/include/wx-3.0/wx/string.h:4305:
In file included from /usr/local/include/wx-3.0/wx/crt.h:19:
/usr/local/include/wx-3.0/wx/wxcrt.h:530:1: error: cannot initialize a parameter of type 'const char *' with an rvalue of type 'const CharType *' (aka 'const wchar_t *')
WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:402:5: note: expanded from macro 'WX_STRCMP_FUNC'
    WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:369:36: note: expanded from macro 'WX_STR_FUNC_NO_INVERT'
        { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                                   ^~~~~~~~~
/usr/local/include/wx-3.0/wx/wxcrt.h:520:41: note: expanded from macro 'WX_STR_CALL'
#define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                        ^
/usr/include/strings.h:61:30: note: passing argument to parameter here
int      strncasecmp(const char *, const char *, size_t) __pure;
                                 ^
src/helpers.cpp:559:45: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
        PyObject* sysargv = PySys_GetObject("argv");
                                            ^
src/helpers.cpp:568:45: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
                    pyArg = PySys_GetObject("executable");
                                            ^
src/helpers.cpp:790:45: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    wxPyAssertionError = PyErr_NewException("wx._core.PyAssertionError",
                                            ^
src/helpers.cpp:795:41: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    wxPyNoAppError = PyErr_NewException("wx._core.PyNoAppError",
                                        ^
src/helpers.cpp:947:57: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
                PyObject* rv = PyObject_CallMethod(obj, "__del__", NULL);
                                                        ^
src/helpers.cpp:1423:40: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    PyObject* read = wxPyGetMethod(py, "read");
                                       ^
src/helpers.cpp:1424:40: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    PyObject* seek = wxPyGetMethod(py, "seek");
                                       ^
src/helpers.cpp:1425:40: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    PyObject* tell = wxPyGetMethod(py, "tell");
                                       ^
src/helpers.cpp:1616:41: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    PyObject* write = wxPyGetMethod(py, "write");
                                        ^
src/helpers.cpp:1617:40: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    PyObject* seek = wxPyGetMethod(py, "seek");
                                       ^
src/helpers.cpp:1618:40: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
    PyObject* tell = wxPyGetMethod(py, "tell");
                                       ^
src/helpers.cpp:1822:47: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
            result = PyObject_CallMethod(arg, "GetSkipped", "");
                                              ^
src/helpers.cpp:1822:61: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings]
            result = PyObject_CallMethod(arg, "GetSkipped", "");
                                                            ^
src/helpers.cpp:2635:16: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
    if (*count < 0) {
        ~~~~~~ ^ ~
14 warnings and 19 errors generated.
error: command 'cc' failed with exit status 1
*** Error code 1

Stop.
make: stopped in /usr/ports/x11-toolkits/py-wxPython30
Comment 1 John Marino freebsd_committer freebsd_triage 2014-08-03 23:08:24 UTC
Over to maintainer group...
Comment 2 Marcus von Appen freebsd_committer freebsd_triage 2014-08-13 20:09:26 UTC
fix assignment
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2014-08-25 10:46:06 UTC
*** Bug 192707 has been marked as a duplicate of this bug. ***
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2014-09-04 22:27:21 UTC
*** Bug 191666 has been marked as a duplicate of this bug. ***
Comment 5 Antoine Brodin freebsd_committer freebsd_triage 2014-09-05 11:14:22 UTC
Reverting those 2 changes fixes the compilation issue:

https://svnweb.freebsd.org/base/head/include/wchar.h?r1=265878&r2=265877&pathrev=265878
https://svnweb.freebsd.org/base/head/include/string.h?r1=265878&r2=265877&pathrev=265878

I'm adding jilles@ in cc: as he committed it
Comment 6 Jilles Tjoelker freebsd_committer freebsd_triage 2014-09-05 14:21:19 UTC
It looks like this port is trying to customize the visibility of things in headers in an unsupported way, by requesting a standard-compliant environment (such as by defining _POSIX_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE) and manually defining __BSD_VISIBLE in addition to that.

Because functions like wcscasecmp() and strnlen() were only added in POSIX.1-2008, they are not exposed if a strict POSIX.1-2001 environment is requested. The effect of a manual __BSD_VISIBLE on this is undefined, and is in practice likely to change when a formerly non-standard extension becomes standard.

For most applications, the default environment is appropriate. It shows everything except a few things like getline(), which can be enabled with specific defines.
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-05 15:19:56 UTC
Canonicalise python@ assignment.
Comment 8 Antoine Brodin freebsd_committer freebsd_triage 2014-09-06 12:10:13 UTC
include/python2.7/pyconfig.h  has:


/* Define to activate features from IEEE Stds 1003.1-2001 */
#define _POSIX_C_SOURCE 200112L

...

/* Define to the level of X/Open that your system supports */
#define _XOPEN_SOURCE 600

...

/* Define on FreeBSD to activate all library features */
#define __BSD_VISIBLE 1
Comment 9 Jilles Tjoelker freebsd_committer freebsd_triage 2014-09-06 14:18:17 UTC
(In reply to Antoine Brodin from comment #8)
> include/python2.7/pyconfig.h  has:
> 
> 
> /* Define to activate features from IEEE Stds 1003.1-2001 */
> #define _POSIX_C_SOURCE 200112L
> 
> ...
> 
> /* Define to the level of X/Open that your system supports */
> #define _XOPEN_SOURCE 600
> 
> ...
> 
> /* Define on FreeBSD to activate all library features */
> #define __BSD_VISIBLE 1

I suggest removing all three for FreeBSD.

Other platforms may need them, together with more feature test macros. (However, per POSIX, _POSIX_C_SOURCE is not needed if you already define _XOPEN_SOURCE.)
Comment 10 Antoine Brodin freebsd_committer freebsd_triage 2014-09-06 15:31:54 UTC
Created attachment 146937 [details]
proposed patch
Comment 11 Antoine Brodin freebsd_committer freebsd_triage 2014-09-10 12:35:13 UTC
Hi python@,

Any thoughts on the proposed patch?
Comment 12 Marcus von Appen freebsd_committer freebsd_triage 2014-09-10 13:28:05 UTC
I'm hesitant about it, since it may change the build and runtime behaviour of every python C extension. Can we exp-run it?
Comment 13 Antoine Brodin freebsd_committer freebsd_triage 2014-09-10 13:31:22 UTC
Ok, on which branch do you want the exp-run?
Comment 14 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-10 20:43:23 UTC
Upstream issue report and patch too, goal to ultimately upstream, even if we do carry a local patch for a while. Python core will have thoughts and value to add on this
Comment 15 Antoine Brodin freebsd_committer freebsd_triage 2014-09-12 06:57:54 UTC
There was 1 new failure on 10.0 on 9.1 (builds successfully on head): net-im/finch

http://package18.nyi.freebsd.org/data/10amd64-default-PR192365/2014-09-11_10h43m38s/logs/errors/finch-2.10.9_6.log

This is due to _XOPEN_SOURCE_EXTENDED no longer being defined for version of ncurses in 9.1 / 10.0
Comment 16 Antoine Brodin freebsd_committer freebsd_triage 2014-09-12 08:37:37 UTC
Created attachment 147239 [details]
updated patch
Comment 17 Jilles Tjoelker freebsd_committer freebsd_triage 2014-09-12 14:41:32 UTC
From the standard headers, only the ncurses headers check for _XOPEN_SOURCE_EXTENDED, so this patch looks safe.
Comment 18 commit-hook freebsd_committer freebsd_triage 2014-09-12 20:53:18 UTC
A commit references this bug:

Author: antoine
Date: Fri Sep 12 20:52:19 UTC 2014
New revision: 368066
URL: http://svnweb.freebsd.org/changeset/ports/368066

Log:
  Do not define __BSD_VISIBLE/_XOPEN_SOURCE/_POSIX_C_SOURCE in
  include/python2.7/pyconfig.h
  This fixes x11-toolkits/py-wxPython30 build on head

  PR:		192365
  Exp-run:	self
  Reviewed by:	jilles
  With hat:	portmgr

Changes:
  head/lang/python27/Makefile
  head/lang/python27/files/patch-pr192365
  head/net-im/finch/Makefile
Comment 19 Antoine Brodin freebsd_committer freebsd_triage 2014-09-12 20:55:30 UTC
Patch committed.

A related problem was reported upsteam 19 months ago: http://bugs.python.org/issue17120
Comment 20 Kubilay Kocak freebsd_committer freebsd_triage 2015-04-17 10:38:02 UTC
Assign to committer who resolved