Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: Brane2 on June 30, 2016, 06:57:04 am
-
HI to all,
I recently I have compiled myself new gcc-6.1.0 ( and later updated it to latest weekly snapshot, I believe its 20160623).
Since gcc-6.1 changed few important things within libstdc from gcc-5xx,I've pretty much recompiled whole system with it, to keep everything happy and synchronised with latest ABI.
But CodeBlocks ( compiled from git-repository) refuses to run. It compiles fine, but when run, it opens debug report window.
I tired opening tha xml file it is mentioned in debug report, but there is nothing really useful to me. List of loaded modules, library versions etc.
Not a single word n where it choked etc.
I am used of codeblocks refusing to rune due to wxwidgets being compiled with different compiler version etc, but this is something else.
So before throwing at this problem a shitload of hours, i thought about asking here. Has someone done this ?
BTW:
- I use git-repo ( Gentoo ebuild codeblocks-9999)
- I use Gentoo
- gcc 6 snapshot 20160623 ( which is ancestor of gcc-6.1.0)
-if this is important, I use wxGTK-2.8.12 ebuild, which is based on wxPython.2.8.12
I have everything compiled with gcc-6.1.0, but after that I recompiled with the later 20160623 snapshot:
- all @system packages, except kernel and gcc itself
- everything with "lib" or "x11" in its package or map name within @world
-Codeblocks itself ( with and wiothout contributed plugins)
-
For the moment you should lower optimization level.
I did this as quick fix for Fedora 24.
We already use 6.1 on F24 regulary.
Before running configure you can do an "export CXXFLAGS="-O0".
I guess "-O1" will work also, and most likely only one or two of the optimization-switches have to be disabled.
I just figured out the relevant flags for icecat on f24, because "-O0" has made it ver, very slow.
I try to find the relevant switches fo C::B as soon as I find the time.
-
For the moment you should lower optimization level.
I did this as quick fix for Fedora 24.
We already use 6.1 on F24 regulary.
Before running configure you can do an "export CXXFLAGS="-O0".
I guess "-O1" will work also, and most likely only one or two of the optimization-switches have to be disabled.
I just figured out the relevant flags for icecat on f24, because "-O0" has made it ver, very slow.
I try to find the relevant switches fo C::B as soon as I find the time.
I'll try now with -O1...
-
I'll try now with -O1...
I just bisected the switches and "-fno-delete-null-pointer-checks" (as for many programs with gcc6.1) should be enough.
I will commit a fix most llikely this evening (UTC+1).
-
Do we have a callstack? A warning?
This is the wrong way to fix the bug.
What should I build with gcc 6.x wx+cb or only cb is enough?
-
Thanks.
I didn't know that about the -fno-delete-null-pointer-checks. I'll disable it by default.
-
I didn't know that about the -fno-delete-null-pointer-checks. I'll disable it by default.
Thus you won't detect broken software. Better use the -Werror=null-dereference and report compilation failures.
-
This option is only active when -fdelete-null-pointer-checks is active, which is enabled by optimizations in most targets.
Since it was active all the time before and since it failed to detect what it was supposed to do ( recimpiled most of my @world with it), I don't see utility of this.