Author Topic: wxWidgets 3.0.3 released  (Read 2719 times)

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5943
    • My Best Post
wxWidgets 3.0.3 released
« on: May 04, 2017, 06:57:57 am »
Since wxWidgets 3.0.3 released; I am going to once more try to fix the CB Projects and Wizards to use the wxTeam prebuilt binaries. Maybe this time, I will finish it and have a CB Dev like the way I do at least part of the work.

https://github.com/wxWidgets/wxWidgets/releases/tag/v3.0.3

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #1 on: May 04, 2017, 07:37:46 am »
Yesterday I have tried to build CB with it : mixed results.

Environment :
- Win 10 (64 bit)
- TDM-gcc 5.1.0 ==> which creates by default 64 bit targets (I used it like that)

I build wx like I used to build the 2.8.12, that is like described on the nightly cookbook. ==> no problems
Quote
I did NOT specify -std=c++11 !!!!
(need to investigate if this is not the default gcc 5.1, otherwise my build of wx is not correct)

Then I build CB by using the wx30_64 workspace.
Quote
The project files of the wx30_64 explicitly specify -std=c++11

The build failed because the fortran plug-in does not compile, it needs in parserf.cpp to include <wx/regex.h>.

The I can launch the freshly build CB, it comes up nicely, but without any interaction a few seconds later it crashes.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5943
    • My Best Post
Re: wxWidgets 3.0.3 released
« Reply #2 on: May 04, 2017, 08:24:39 am »
Edit4: Deleted wxWidgets message that went away after I deleted the MSys2 GCC 6.3.0 DLLs.

The MinGW32 GCC TDM 5.1.0 gets the above message using the wxTeam built binary with edited project.
Now, it looks like I need to build wxWidgets using my "MinGW32 GCC TDM 5.1.0" to see if the error was caused by a compiler version/build type issue.

Edit: It never really displays the CB IDE before it crashes.
Edit3: It stopped crashing after I deleted the DLLs left over from the MSys2 GCC 6.3.0 testing.
Edit2: Testing on Windows 10 32 bit.

NOTE: The wxTeam used the flags below to build their GCC 510TDM binary
Code: [Select]
CXXFLAGS=-fno-keep-inline-dllexport -std=gnu++11

Tim S.
« Last Edit: May 04, 2017, 08:44:37 am by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #3 on: May 04, 2017, 12:16:57 pm »
as for gcc, I think the default mode in 5.x is not "c++11", in 6.x it became "The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98".

So I think indeed when we build wx with the 5.x we should clearly specify the standard we want to use.
I think it is best to stick to official standard and not gnu extension ==> -std=c++11

So when mixing what you saw from wxTeam (no idea what wxTeam is ) and our cookbook we should get something like:

Code: [Select]
CXXFLAGS+=-fpermissive -fno-keep-inline-dllexport -std=c++11

Need to see what the correct syntax is to end up with the following invocation for building wx :

Code: [Select]
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 vendor=CB CXXFLAGS+=-fpermissive -fno-keep-inline-dllexport -std=gnu++11

should it it be CXXFLAGS+="blablablablabla ablablalb "  ?

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5943
    • My Best Post
Re: wxWidgets 3.0.3 released
« Reply #4 on: May 04, 2017, 05:51:19 pm »
This is the syntax I think it should use.

Code: [Select]
CXXFLAGS="-fpermissive -fno-keep-inline-dllexport -std=gnu++11"

Full command below:
Code: [Select]
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 vendor=CB CXXFLAGS="-fpermissive -fno-keep-inline-dllexport -std=gnu++11"

Edit: I am using wxTeam in place of the wxWidgets development team; in this exact case I mean the sub-set of people who created the wxWidgets multilib binaries I am using.

« Last Edit: May 04, 2017, 05:59:52 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #5 on: May 05, 2017, 07:27:54 am »
note that out cookbook says += instead of =  for CXXFLAGS, we want to append our settings, and not just overwrite.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10277
Re: wxWidgets 3.0.3 released
« Reply #6 on: May 05, 2017, 09:17:00 am »
The append is useful probably if you already have an env variable named CXXFLAGS.
<debugger plugin maintainer>
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #7 on: May 05, 2017, 09:32:46 am »
correct, but I have no clue if wx might already have if defined itself somewhere in its makefiles ....

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10277
Re: wxWidgets 3.0.3 released
« Reply #8 on: May 05, 2017, 01:16:57 pm »
This won't make a difference in this case. The old value should be taken from the environment and not from the makefile.
<debugger plugin maintainer>
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #9 on: May 06, 2017, 07:14:21 pm »
I have done a new build.

Windows 10 64-bit
TDM-GCC 5.1.0 (by default builds 64-bit applications)

Wx 3.0.3

Wx build as :
Code: [Select]
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=cb CXXFLAGS+="-fpermissive -fno-keep-inline-dllexport -std=c++11"

And then build CB (and plug-ins) based on : CodeBlocks_wx30_64.workspace

It all builds.

Launch CB ==> entire GUI comes up, and after a few seconds CB crashed (so not doing anything at all in CB).

When launching the outcome in "devel30_64" (so not stripping), this is rpt info (some snippets from it) :
Code: [Select]
Error occurred on Saturday, May 6, 2017 at 15:24:08.

codeblocks.exe caused an Access Violation at location 0000000064520BD0 in module wxmsw30u_gcc_cb.dll Reading from location 0000000000000019.

AddrPC           Params
0000000064520BD0 0000000000000000 0000000000000000 0000000000000070  wxmsw30u_gcc_cb.dll!wxDropTarget::Revoke
0000000064555A80 00007FFA05FFBE53 8000001000000000 0000000000000000  wxmsw30u_gcc_cb.dll!wxWindow::HandleDestroy
0000000064561975 0000000000000002 0000000000000000 000000001D82BC50  wxmsw30u_gcc_cb.dll!wxWindow::MSWHandleMessage
0000000064551B8C 00003F491629097D 0000000000000001 0000000000000000  wxmsw30u_gcc_cb.dll!wxWindow::MSWWindowProc
0000000064608931 0000000080000010 0000000000000001 0000000000000000  wxmsw30u_gcc_cb.dll!wxTextCtrl::MSWWindowProc
00007FFA05FFBC50 0000000000000388 0000000064559F90 00000000001206E6  USER32.dll!UserCallWinProcCheckWow
00007FFA05FFB94C 0000000000000000 0000000000000000 0000000000000000  USER32.dll!DispatchClientMessage
00007FFA060111F3 0000000000000080 00007FFA06071000 00007FFA02E223C4  USER32.dll!__fnDWORD
00007FFA067F90B4 000000006455A564 0000000003BE19A0 00000000652B9C80  ntdll.dll!KiUserCallbackDispatch
00007FFA02E223C4 0000000003BE19A0 00000000652B9C80 00000000652B9C80  win32u.dll!NtUserDestroyWindow
000000006455A564 0000000002228DE0 00000000652880E0 00000000652880E0  wxmsw30u_gcc_cb.dll!wxWindow::~wxWindow
00000000004ACAC8 0000000003BE19A0 000000000F9EA100 000000006528DD50  codeblocks.exe! ??   [D:/Codeblocks/src/src/splashscreen.cpp @ 181]
   179: }
   180:
>  181: cbSplashScreen::~cbSplashScreen()
   182: {
   183:     m_timer.Stop();
00000000004ACAF7 0000000003BE19A0 00000000019BF990 0000000065288120  codeblocks.exe! ??   [D:/Codeblocks/src/src/splashscreen.cpp @ 184]
   182: {
   183:     m_timer.Stop();
>  184: }
   185:
0000000064303477 0000000000000000 0000000000000000 0000000000000008  wxmsw30u_gcc_cb.dll!wxAppConsoleBase::DeletePendingObjects
00000000643034E5 0000000000000012 0000000000000008 000000000FD44740  wxmsw30u_gcc_cb.dll!wxAppConsoleBase::ProcessIdle
000000006462A011 0000000065288120 00007FFA06459A00 0000000000000000  wxmsw30u_gcc_cb.dll!wxAppBase::ProcessIdle
000000006433D7F9 0000000002228DE0 000000000FD44740 00000000019BFBA0  wxmsw30u_gcc_cb.dll!wxEventLoopManual::DoRun
000000006433D3FD 0000000000000006 0000000200000006 000000001D947960  wxmsw30u_gcc_cb.dll!wxEventLoopBase::Run
0000000064307F0A 000000000000000E 00000000021E19B0 0000000000000000  wxmsw30u_gcc_cb.dll!wxAppConsoleBase::MainLoop
0000000000404F56 0000000002228DE0 0000000000400000 0000000000000001  codeblocks.exe!OnRun  [D:/Codeblocks/src/src/app.cpp @ 850]
   848:     try
   849:     {
>  850:         int retval = wxApp::OnRun();
   851:         // wx 2.6.3 docs says that OnRun() function's return value is used as exit code
   852:         return m_Batch ? m_BatchExitCode : retval;
0000000064387ADA 00000000019BFDE0 0000000000400000 000000000221EB90  wxmsw30u_gcc_cb.dll!wxEntryReal
00000000644794D4 0000000000000000 000000000000002C 000000000000002C  wxmsw30u_gcc_cb.dll!wxEntry
0000000000402205 0000000000400000 0000000000000000 00000000000E395E  codeblocks.exe!WinMain  [D:/Codeblocks/src/src/app.cpp @ 322]
   320: } // namespace
   321:
>  322: IMPLEMENT_APP(CodeBlocksApp) // TODO: This gives a "redundant declaration" warning, though I think it's false. Dig through macro and check.
   323:
   324: BEGIN_EVENT_TABLE(CodeBlocksApp, wxApp)
00000000004013E8 0000000000000000 0000000000000000 0000000000000000  codeblocks.exe!__tmainCRTStartup  [C:/crossdev/src/mingw-w64-v4-git/mingw-w64-crt/crt/crtexe.c @ 332]
00000000004014EB 0000000000000000 0000000000000000 0000000000000000  codeblocks.exe!WinMainCRTStartup  [C:/crossdev/src/mingw-w64-v4-git/mingw-w64-crt/crt/crtexe.c @ 184]
00007FFA03EC2774 0000000000000000 0000000000000000 0000000000000000  KERNEL32.DLL!BaseThreadInitThunk
00007FFA067C0D61 0000000000000000 0000000000000000 0000000000000000  ntdll.dll!RtlUserThreadStart

Could this indicate that something is going wrong in the destruction (closing) of the splash screen ?

Anyone else having a working build with Win10 (64 bit) and wx 3.0.3 ?

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5943
    • My Best Post
Re: wxWidgets 3.0.3 released
« Reply #10 on: May 06, 2017, 08:16:34 pm »
Quote
Anyone else having a working build with Win10 (64 bit) and wx 3.0.3 ?

Will Windows 7 (64 bit) and wx 3.0.3, help?

If yes, I could build on a old laptop (if it works long enough).

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #11 on: May 06, 2017, 08:44:18 pm »
Well the idea is to have CB officially switch to wx 3.0.3 and ditch wx 2.8.12.

But then we need to get a working CB (nightly), in the end I will probably then make the nightlies on my Win10 partition (64 bit), instead of on my old WinXp32bit virtual box. I might make sense to no longer provide 32 bit.
But my build crashes, so it would be interesting to know if anyone out there on windows can get to a success with wx 3.0.3, and then 64bit, ....

So I think a win7 is already at starting point, I assuming the problem is more CB and wx 3.0.3, and 64 bit (and not so much win7 versus win10) ....

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #12 on: May 06, 2017, 09:11:17 pm »
when I commented out the lines interacting with the "Splash" class in the OnInit method in app.cpp, then CB starts OK.

Then I activated them again, and that build is indeed crashing again.
« Last Edit: May 06, 2017, 09:14:02 pm by killerbot »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10277
Re: wxWidgets 3.0.3 released
« Reply #13 on: May 06, 2017, 11:56:11 pm »
Isn't the idea to switch directly to 3.1 on windows? 3.0.3 doesn't have hidpi support as far as I know.

Have you tried to use full debug build (both cb and wx build in debug mode) inside a debugger?
<debugger plugin maintainer>
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5016
Re: wxWidgets 3.0.3 released
« Reply #14 on: May 07, 2017, 09:32:16 am »
I think I saw the same problem months ago with 3.1.

Note that 3.1 is not an official release, it is a development release, which has been the objection in the past not to go straight to this one ?