Author Topic: Code::Blocks Windows wxWidgets 3.1.0 64-bit  (Read 1647 times)

Offline headkase

  • Almost regular
  • **
  • Posts: 138
Code::Blocks Windows wxWidgets 3.1.0 64-bit
« on: February 04, 2017, 04:50:10 pm »
I've been updating the Building Code::Blocks from source on Windows wiki page.

I've managed to build wxWidgets 3.1.0 and Code::Blocks both 64-bit.  The Windows projects however are hard-coded for wxWidgets 3.0.x.  A bit of editing the configuration files gets past that.  There are outstanding issues however, like when closing the IDE and then attempting to relaunch it it complains that it is already running - the old process doesn't terminate completely.  Other issues are present as well I'm sure.

Would it be possible to get the project files properly updated to source wxWidgets 3.1.0?  That is the latest stable version from upstream, along with 2.8.12.  Getting the project files to reflect 3.1.0 would then allow easier building which means easier testing.

Why do I want a full 64-bit 3.1.0 build on Windows?  Because it's freakin' 2017 man.  :P  ;)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 9935
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #1 on: February 04, 2017, 05:13:04 pm »
That is the latest stable version from upstream, along with 2.8.12.
This is wrong. Latest stable is 3.0.2. 3.1.0 is a development version.From wxwidgets.org:
Quote
Please notice that while 3.1.0 is officially a "development" version because it is not fully compatible with 3.0.x...

Anyways: if you want to report bugs, do so, but make sure to search the tickets before posting. There are lots of issues reported against wx3.x, some are fixed already and some are not.
https://sourceforge.net/p/codeblocks/tickets/search/?q=labels:%22wx30%22
<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 headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #2 on: February 04, 2017, 05:16:21 pm »
Damn it, I didn't realize that 3.1.0 was a development branch.  I'll go back over the Wiki and update everything back to 3.0.2.

Offline headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #3 on: February 04, 2017, 06:27:38 pm »
A question: is there an "official" compiler that is meant to be used with Code::Blocks?  The reason I ask is that I've been using MinGW-Builds GCC 6.3.0.  That, apparently, will not compile wxWidgets 3.0.2.  The installing from source page I wrote along with MinGW-Builds.  I know TDM-GCC has had a "preferred" status but the most current version of that is 5.1.0.  If TDM is preferred then I will go back and re-write the page using that as a reference.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 9935
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #4 on: February 04, 2017, 08:45:56 pm »
Keep in mind that C::B built with wx3.x will probably be as buggy as wx3.1. So if you don't intend to report detailed bugs or post patches it is not a good idea to use it.
As far as I know the nightlies are using tdm 5.x and the last release is using 4.9. The 5.1 builds have some issue caused by the compiler no one has time to research. I'm using only linux, so I don't know what is the exact situation.
<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 headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #5 on: February 04, 2017, 08:54:34 pm »
The issue that leads me to seek an "official" compiler is simply the quirks each of them come with.  If there is a "blessed" compiler, it doesn't matter which one, then I can write up the building page saying "use this for building, use whatever you want for your code."  As it is now the page has some exceptional issues, like "-D_WIN32_IE=0x0603" that I'm not sure even apply to other compilers.  If the nightlies use TDM 5.1.0 32-bit then I'll lean towards that, if 4.9 is the compiler then I'll use that.  I'm just a random guy editing a wiki page though so I'm not going to sanction a particular compiler without team blessing.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 9935
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #6 on: February 04, 2017, 09:30:19 pm »
Which page are you talking about?
<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 headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #7 on: February 04, 2017, 09:36:13 pm »
This page: http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows

I did a major overhaul of it quite a while ago and now I'm revisiting it.  The thing is I wrote the page with MinGW-Builds as the reference.  Now that I'm revisiting it there really should be, at least I think, a clear reference compiler - so people following the instructions don't run into road-blocks like using a different compiler than what I used.

Online Commaster

  • Multiple posting newcomer
  • *
  • Posts: 60
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #8 on: February 05, 2017, 07:54:05 am »
Keep in mind that C::B built with wx3.x will probably be as buggy as wx3.1. So if you don't intend to report detailed bugs or post patches it is not a good idea to use it.
Dear oBFusCATed, does this mean, that we are actively targeting 3.0 now? For the longest time I though, that C::B is mostly for 2.8.12...
I have a few issues running on 3.0 and if you would confirm, that C::B is on 3.0-fixing-spree, I would prepare a list and reproduction steps, where possible, to polish the code base.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 9935
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #9 on: February 05, 2017, 11:33:19 am »
I'm fixing as many issues as possible and I'm using wx3 based cb at home to find more.
See this link https://sourceforge.net/p/codeblocks/tickets/search/?q=labels:%22wx30%22 for list of issues and their status.
Please don't post a list here. But separate issue on the issue tracker.
Here they'll get lost!
<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 headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #10 on: February 05, 2017, 09:30:13 pm »
I'm thinking of standardizing on TDM-GCC 5.1.0?  That is the latest version on the TDM web-site and it is also the compiler set up on the MinGW page:

http://wiki.codeblocks.org/index.php/MinGW_installation

I should note that I also re-did the MinGW page, adding the images and such, BUT, it recommended TDM-GCC before I re-did it.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 9935
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #11 on: February 05, 2017, 10:20:47 pm »
What do you mean by standardizing TDM 5.1.0?
The build system of C::B doesn't require it and anyone is free to use any compiler he/she likes.
<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 headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #12 on: February 05, 2017, 10:32:02 pm »
The "-D_WIN32_IE=0x0603" I mentioned?  It is required with MinGW-Builds as that has a newer version of the Windows RT libraries which has a bug in it.  I'm very sure, TDM-GCC doesn't require it because it has an older version of the RT which doesn't have the bug.  "Standardizing" would mean instructions that don't have lots of "if's" in them.
« Last Edit: February 05, 2017, 10:34:01 pm by headkase »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 9935
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #13 on: February 05, 2017, 11:16:56 pm »
Then what you do when people start reporting crashes due to the compiler?
Check the recent nightly threads for an example. Unfortunately non of the windows devs has the time to investigate why this happens.
This is of course if I remember correctly the situation.
<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 headkase

  • Almost regular
  • **
  • Posts: 138
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #14 on: February 05, 2017, 11:26:03 pm »
Dammit, well, here's what I'm going to do: TDM-GCC 5.1.0 is used for the Windows Nightlies so that's what I'm going to write the page around.  If the Nightlies compiler changes then I'll try to update the page as soon as I notice.

Objections?

Offline Biplab

  • Developer
  • Lives here!
  • *****
  • Posts: 1863
    • Biplab's Blog
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #15 on: March 04, 2017, 04:35:08 pm »
I'm using MinGW-Build GCC v6.1.0 and wxWidgets 3.0.2
Code: [Select]
Thread model: win32
gcc version 6.1.0 (x86_64-win32-sjlj-rev1, Built by MinGW-W64 project)
No additional patches required to build 64 bit build on Windows.

Disclaimer: Did not build Nassi plugin. Too lazy to build Boost and then build that plugin.

Build is pretty stable. It is able to open Code::Blocks workspace without a crash.

Based on my previous experience - generally Code::Blocks core is pretty stable. It was code completion plugin which used to crash which seems to have been controlled to an extent.
Be a part of the solution, not a part of the problem.

Offline sodev

  • Multiple posting newcomer
  • *
  • Posts: 66
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #16 on: March 05, 2017, 05:13:03 am »
Pretty stable? What magic are you using? I was never able to build a useable CodeBlocks version against any wx3.x version. The text editor was always slow like hell, ocassionally the current line highlight stayed on forever so the whole text background was yellow, lots of refresh bugs so there was text displayed that didnt exist there, and most annoying was that when i switch between opened tabs randomly the current path of the file was inserted at the current cursor position. And that was not just visually that was also content wise, so if u switch quickly between files and dont pay attention and save the files to compile the project, you get lots of funny compile errors due to the modified files.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 4903
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #17 on: March 05, 2017, 05:25:48 am »
Pretty stable? What magic are you using? I was never able to build a useable CodeBlocks version against any wx3.x version.
I can build C::B against wx 3.02, wx 3.1, and months ago, against wx trunk. But all were using 32 bit GCC compilers under Windows. :) I don't have you mentioned issue.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline Biplab

  • Developer
  • Lives here!
  • *****
  • Posts: 1863
    • Biplab's Blog
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #18 on: March 05, 2017, 06:25:57 am »
Pretty stable? What magic are you using? I was never able to build a useable CodeBlocks version against any wx3.x version. The text editor was always slow like hell, ocassionally the current line highlight stayed on forever so the whole text background was yellow, lots of refresh bugs so there was text displayed that didnt exist there, and most annoying was that when i switch between opened tabs randomly the current path of the file was inserted at the current cursor position. And that was not just visually that was also content wise, so if u switch quickly between files and dont pay attention and save the files to compile the project, you get lots of funny compile errors due to the modified files.

I have uploaded a new build at the following url -
Quote
http://forums.codeblocks.org/index.php/topic,21781.msg148154.html#msg148154
Try and post your feedback.
Be a part of the solution, not a part of the problem.

Offline sodev

  • Multiple posting newcomer
  • *
  • Posts: 66
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #19 on: March 06, 2017, 02:42:51 pm »
I tested your build for a short time (don't have more time currently to work on my CodeBlocks projects), already got the problem that i get multiple line highlights. And when i click on any menu entry i get an assertion, and after clicking on too many menu entries CodeBlocks crashes :).

My own builds are so far assertion free and dont crash anymore (except crash on startup when SpellChecker plugin is enabled and the CodeBlocks process keeps running after closing CodeBlocks). However i am using latest wxWidgets master revision, MinGW-w64 6.2.0 and only do 32 Bit builds.

Offline Biplab

  • Developer
  • Lives here!
  • *****
  • Posts: 1863
    • Biplab's Blog
Re: Code::Blocks Windows wxWidgets 3.1.0 64-bit
« Reply #20 on: March 06, 2017, 04:08:53 pm »
I tested your build for a short time (don't have more time currently to work on my CodeBlocks projects), already got the problem that i get multiple line highlights. And when i click on any menu entry i get an assertion, and after clicking on too many menu entries CodeBlocks crashes :).

My own builds are so far assertion free and dont crash anymore (except crash on startup when SpellChecker plugin is enabled and the CodeBlocks process keeps running after closing CodeBlocks). However i am using latest wxWidgets master revision, MinGW-w64 6.2.0 and only do 32 Bit builds.

Not promoting my build  :) But it is quite stable on my system. In fact I'm using it for C::B development.

I can reproduce assert after a configuration dialog is closed. I can continue working after I click No button. However I could not reproduce the crash you reported.

Problem is - without a crash I can't start my investigation. If you have a crash report send it to me. I'll see if that can be fixed.
Be a part of the solution, not a part of the problem.