Solaris Build Failure wxWidgets 3.1.1

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
Post Reply
nkulowiec
In need of some credit
In need of some credit
Posts: 3
Joined: Thu Aug 02, 2018 2:03 pm

Solaris Build Failure wxWidgets 3.1.1

Post by nkulowiec » Fri Aug 03, 2018 12:58 pm

I am trying to build wxWidgets 3.1.1 on Solaris 11.3 SRU34 with gcc 5.4.0 and GNU make 3.82 and receive a ton of errors after about 5 minutes of building.

Code: Select all

./include/wx/wxcrtbase.h:667:68: error: ‘wcsdup’ was not declared in this scope
./include/wx/wxcrtbase.h:667:68: error: ‘wcsdup’ was not declared in this scope
./include/wx/wxcrtbase.h:667:68: error: ‘wcsdup’ was not declared in this scope
./include/wx/wxcrt.h:187:95: error: ‘wcsnlen’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrtbase.h:667:68: error: ‘wcsdup’ was not declared in this scope
./include/wx/wxcrt.h:187:95: error: ‘wcsnlen’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:187:95: error: ‘wcsnlen’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:187:95: error: ‘wcsnlen’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:324:47: error: ‘wcscasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope
I have tested with gcc/g++, cc/g++, cc/CC. All fail. Oddly enough, when I switched to Solaris Studio 12.4 cc/CC(the C/C++ compiler for Studio) throws the following error during configure:

Code: Select all

configure: error: Can't use --enable-std_string without std::wstring or std::basic_string<wchar_t>
I've attached the 3 different ways I've tried building this. Any ideas?
Attachments
wxWidgets Configure and Build Failure - Solaris Studio 12.4 - cc and g++.txt
(541.64 KiB) Downloaded 17 times
wxWidgets Configure and Build Failure - Solaris Studio 12.4 - cc and CC.txt
(2.52 KiB) Downloaded 20 times
wxWidgets Configure and Build Failure - gcc and g++.txt
(369.91 KiB) Downloaded 21 times

DavidHart
Site Admin
Site Admin
Posts: 3889
Joined: Thu Jan 12, 2006 6:23 pm
Location: IoW, UK

Re: Solaris Build Failure wxWidgets 3.1.1

Post by DavidHart » Fri Aug 03, 2018 1:30 pm

Hi,

I've no knowledge or experience of solaris, but googling the first type of error produced this result. Most of that will be irrelevant, but worth a look.
configure: error: Can't use --enable-std_string without std::wstring or std::basic_string<wchar_t>
found configure.in. Have a look around line 1900.

If neither of those help and nobody else has any better ideas, I suggest you post to the wx-dev mailing list, or even direct to wx trac.

Regards,

David

nkulowiec
In need of some credit
In need of some credit
Posts: 3
Joined: Thu Aug 02, 2018 2:03 pm

Re: Solaris Build Failure wxWidgets 3.1.1

Post by nkulowiec » Fri Aug 03, 2018 2:42 pm

Thanks for the info Dave!

I was more concerned with the multitude of "was not declared in this scope" errors when we know that they're defined. The gcc/g++ method shows the "./include/wx/wxcrt.h:519:50: error: ‘wcsncasecmp’ was not declared in this scope" errors whereas the cc/g++ method gives "error: ‘int vwprintf(const wchar_t*, va_list)’ conflicts with a previous declaration" and " error: ‘int vwprintf(const wchar_t*, va_list)’ conflicts with a previous declaration". Neither of which make sense at the moment.

If I can't figure out the main issue, I'll definitely consider changing gears for the --enable-std_string secondary issue (using CC), as you suggested.

I have tried changing the "using" lines and their order in the wchar.h file and I even did a few test edits of wxcrt.cpp to no avail.

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

Re: Solaris Build Failure wxWidgets 3.1.1

Post by ONEEYEMAN » Fri Aug 03, 2018 4:42 pm

Hi,
If it matters I successfully built wxWidgets 2.8 on latest Sun Solaris with the Solaris studio.

You can try upgrading the OS (which I know will be painful, it's not Solaris anymore) or try to play with the configure option.
Or even better check the config.log file and see why the type/functions was not recognized.

If you can check the reason and submit you findings to the wx-dev ML it would be great.

Thank you.

nkulowiec
In need of some credit
In need of some credit
Posts: 3
Joined: Thu Aug 02, 2018 2:03 pm

Re: Solaris Build Failure wxWidgets 3.1.1

Post by nkulowiec » Tue Aug 07, 2018 2:03 pm

ONEEYEMAN,

I have no idea what you mean by trying to upgrade the OS as I am already on the latest SRU for the OS.

What were your configure options for the 2.8 version?

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

Re: Solaris Build Failure wxWidgets 3.1.1

Post by ONEEYEMAN » Tue Aug 07, 2018 3:13 pm

Hi,
As I said - it was a long time ago. But I think I just did - "../configure --enable-debug --enable-debug_gdb" and then "make"

Thank you.

Post Reply