Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3 Topic is solved

Do you have a question about makefiles, a compiler or IDE you are using and need to know how to set it up for wxWidgets or why it doesn't compile but other IDE's do ? Post your questions here.
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

-INFO
OS: Solaris 11.3 SRU36
wxWidgets: 3.1.3 (Source)
GCC version: 4.8.2, 5.4.0 and Sun Studio 12.6
wx-config version: 2.8.12
./configure (simple) and or --with-gtk or --with-x11
Status: failed
-

I am trying to build wxWidgets 3.1.3 on Solaris 11.3 SRU36.10 with both gcc 4.8.2 and sun studio 12.6 and GNU make 3.82 and receive errors after of building here below

Code: Select all

In file included from ./include/wx/chartype.h:69:0,
                 from ./include/wx/debug.h:17,
                 from ./include/wx/defs.h:851,
                 from ./include/wx/wxprec.h:12,
                 from ./src/common/any.cpp:12:
/usr/include/wchar.h:141:12: note:   ‘std::wcsncasecmp’
 extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
            ^
In file included from ./include/wx/crt.h:19:0,
                 from ./src/common/any.cpp:24:
./include/wx/wxcrt.h: In function ‘int wxStrnicmp(const wxScopedWCharBuffer&, const wchar_t*, std::size_t)’:
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:365:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
./include/wx/wxcrt.h:519:50: note: suggested alternative:
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:365:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
In file included from ./include/wx/chartype.h:69:0,
                 from ./include/wx/debug.h:17,
                 from ./include/wx/defs.h:851,
                 from ./include/wx/wxprec.h:12,
                 from ./src/common/any.cpp:12:
/usr/include/wchar.h:141:12: note:   ‘std::wcsncasecmp’
 extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
            ^
In file included from ./include/wx/crt.h:19:0,
                 from ./src/common/any.cpp:24:
./include/wx/wxcrt.h: In function ‘int wxStrnicmp(const wxScopedWCharBuffer&, const wxScopedWCharBuffer&, std::size_t)’:
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:369:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
./include/wx/wxcrt.h:519:50: note: suggested alternative:
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:369:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
In file included from ./include/wx/chartype.h:69:0,
                 from ./include/wx/debug.h:17,
                 from ./include/wx/defs.h:851,
                 from ./include/wx/wxprec.h:12,
                 from ./src/common/any.cpp:12:
/usr/include/wchar.h:141:12: note:   ‘std::wcsncasecmp’
 extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
            ^
gmake: *** [basedll_any.o] Error 1

BUILD FAILED (exit value 2, total time: 3m 7s)
I have tested to many of source with 3.1.3 , 3.1.2 , 3.00 and etc... I see configure work fine but after make(gmake/dmake) can't build success I need wx for observer in erlang (OTP22). Any ideas?

Code: Select all

REF
pre-build
Configured wxWidgets 3.1.3 for `sparc-sun-solaris2.11'

  Which GUI toolkit should wxWidgets use?                 GTK+ 2 with support for GTK+ printing
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be linked as a shared library?         yes
  Should wxWidgets support Unicode?                       yes (using wchar_t)
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.8      no
                                       wxWidgets 3.0      yes
  Which libraries should wxWidgets use?
                                       STL                no
                                       jpeg               sys
                                       png                sys
                                       regex              builtin
                                       tiff               sys
                                       lzma               yes
                                       zlib               sys
                                       expat              sys
                                       libmspack          no
                                       sdl                no


PRE-BUILD SUCCESSFUL (total time: 15s)

BUILD
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:365:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
./include/wx/wxcrt.h:519:50: note: suggested alternative:
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:365:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2); }                          \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
In file included from ./include/wx/chartype.h:69:0,
                 from ./include/wx/debug.h:17,
                 from ./include/wx/defs.h:851,
                 from ./include/wx/wxprec.h:12,
                 from ./src/common/any.cpp:12:
/usr/include/wchar.h:141:12: note:   ‘std::wcsncasecmp’
 extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
            ^
In file included from ./include/wx/crt.h:19:0,
                 from ./src/common/any.cpp:24:
./include/wx/wxcrt.h: In function ‘int wxStrnicmp(const wxScopedWCharBuffer&, const wxScopedWCharBuffer&, std::size_t)’:
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:369:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
./include/wx/wxcrt.h:519:50: note: suggested alternative:
 #define WX_STR_CALL(func, a1, a2)  func(a1, a2, n)
                                                  ^
./include/wx/wxcrt.h:369:18: note: in expansion of macro ‘WX_STR_CALL’
         { return WX_STR_CALL(crtW, s1.data(), s2.data()); }                   \
                  ^
./include/wx/wxcrt.h:402:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
     WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString)                   \
     ^
./include/wx/wxcrt.h:529:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
 WX_STRCMP_FUNC(wxStrnicmp, wxCRT_StrnicmpA, wxCRT_StrnicmpW, wxStrnicmp_String)
 ^
In file included from ./include/wx/chartype.h:69:0,
                 from ./include/wx/debug.h:17,
                 from ./include/wx/defs.h:851,
                 from ./include/wx/wxprec.h:12,
                 from ./src/common/any.cpp:12:
/usr/include/wchar.h:141:12: note:   ‘std::wcsncasecmp’
 extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
            ^
gmake: *** [basedll_any.o] Error 1

BUILD FAILED (exit value 2, total time: 3m 6s)

*
here some configure build success from erlang otp 22.0 but can't used wx.
1.buid normal
./configure CC=${IDE_CC} CXX=${IDE_CXX} CFLAGS="-O" CXXFLAGS=-g
result=OK

2.buid HIPE
./configure CC=${IDE_CC} CXX=${IDE_CXX} CFLAGS="-O" CXXFLAGS=-g --enable-hipe
result=OK

3.buid HIPE and 64bit
./configure CC=${IDE_CC} CXX=${IDE_CXX} CFLAGS="-O" CXXFLAGS=-g --enable-hipe --enable-m64-build
result=failed

4.buid HIPE and 64bit and wx
./configure CC=${IDE_CC} CXX=${IDE_CXX} CFLAGS="-O" CXXFLAGS=-g --enable-hipe --enable-m64-build
result=failed
Last edited by DavidHart on Fri Dec 13, 2019 7:49 am, edited 1 time in total.
Reason: Added code-tags
DavidHart
Site Admin
Site Admin
Posts: 4252
Joined: Thu Jan 12, 2006 6:23 pm
Location: IoW, UK

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by DavidHart »

Hi,

I don't use Solaris, but (as I expect Google has already told you) similar issues have been reported in the past, both with and without wxWidgets. For example, see this thread; its last comment might also give you a hint about a solution.

IIUC you have a Solaris wx2.8.12 already installed. If you have access to its source package, perhaps you could see how it fixes the problem.

Regards,

David
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7449
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by ONEEYEMAN »

Hi,
I successfully built wxWidgets-3.1.1 with Solaris Studio 12.6 on the latest Oracle Solaris 11.4.
I didn't try to install gcc as I wanted the build to be "native"

All I did was:

../configure --enable-debug --with-gtk
make

and then I was able to successfully build minimal sample.

Also, looking at the error you received I believe they will be solved by upgrading to 11.4 as I did experience the same problem there.

Try to back-up you current install, install/upgrade to 11.4 and try the build again.

If it fails again - I will try to upgrade my wx over the weekend and rebuild.

Thank you.
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

Hi
Here build with wxWidgets-3.1.1 with ./configure --enable-debug --with-gtk still failed here below(see wxWidgets-3.1.1). Another i didn't get "Ok. The Solaris problem really was that wcsdup and few others are not declared in default C++ name space. So std::wcsdup will solve the issue for now." from mention 'The Solaris problem really was that wcsdup' that need option from configure?

:~/WX/wxWidgets-3.1.3$ ./configure -h | grep std
--enable-std_containers use standard C++ container classes
--enable-std_containers_compat use standard C++ container classes when it can be done compatible
--enable-std_iostreams use standard C++ stream classes
--enable-std_string use standard C++ string classes
--enable-std_string_conv_in_wxstring provide implicit conversion to std::string in wxString
--enable-stdpaths use wxStandardPaths class
--enable-artstd use standard XPM icons in wxArtProvider
Attachments
wxWidgets-3.1.1.txt
(117.92 KiB) Downloaded 68 times
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7449
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by ONEEYEMAN »

Hi,
As I said - all this is fixed inside the latest 11.4 Oracle Solaris.

Thank you.
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

Hi,

Oh Thanks but can't upgrade OS that way painful for application migration/upgrade :)
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

Hi

As you said build wxWidgets 3.xx on Solaris 11.4 successful I guess cause of solaris 11.4 have package wxwidgets 3.0xx Or could you help run command check package wx with #pkg list -af | grep -i wxwidgets

Thanks
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7449
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by ONEEYEMAN »

Hi,
Solaris 11.4 got rid of all old C++98 defines or something like that.

Just compare the header files in 11.3 and 11.4.

Unfortunately I can't find my old thread about compiling wx on 11.3....
But the binaries should be compatible.

Thank you.
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

Hi,

My attached config.log if maybe getting idea from config.log


Thanks
Attachments
WX3.1.3config.txt
(269.69 KiB) Downloaded 67 times
stahta01
Ultimate wxWidgets Guru
Ultimate wxWidgets Guru
Posts: 548
Joined: Fri Nov 03, 2006 2:00 pm

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by stahta01 »

The last posted file [WX3.1.3config.txt] implied issues with xlocale

Code: Select all

--disable-xlocale
I would try configure with it disables and see if the build goes farther.

Tim S.
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

Hi,

Here last build
pre-build
:~/WX/wxWidgets-3.1.3$ ./configure --with-gtk --enable-compat28 --disable-xlocale
config.log
:~/WX/wxWidgets-3.1.3$ grep xlocal config.log
$ ./configure --with-gtk --enable-compat28 --disable-xlocale
wx_cv_use_xlocale=wxUSE_XLOCALE=no

build output in file attached. my guess(not sure) cause wchar but i tried to fix not work if look into output cxx build fine but after that is not.

Thanks
Attachments
build-output wx3.1.3.txt
(272.22 KiB) Downloaded 67 times
stahta01
Ultimate wxWidgets Guru
Ultimate wxWidgets Guru
Posts: 548
Joined: Fri Nov 03, 2006 2:00 pm

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by stahta01 »

https://trac.wxwidgets.org/ticket/18368

Might want to try downgrading GCC if that can be done.

Tim S.
stahta01
Ultimate wxWidgets Guru
Ultimate wxWidgets Guru
Posts: 548
Joined: Fri Nov 03, 2006 2:00 pm

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by stahta01 »

You might try compiling with all the variations of Unicode options.

Code: Select all

--disable-unicode
--enable-utf8
--enable-utf8only
Only one of the above 3 options at a time in configure.

Tim S.
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

stahta01 wrote: Mon Dec 23, 2019 7:02 am https://trac.wxwidgets.org/ticket/18368

Might want to try downgrading GCC if that can be done.

Tim S.
This is good one and result is successes just downgrade gcc from 4.8.2 to 4.5.2.

Output:
BUILD SUCCESSFUL (total time: 28m 3s)

Many Thanks :)
rareman
Earned a small fee
Earned a small fee
Posts: 15
Joined: Fri Dec 13, 2019 4:59 am

Re: Solaris(sparc)11.3 Build Failure wxWidgets 3.1.3

Post by rareman »

Hi,

thank you all for your support.
Post Reply