News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

who builds CB with GCC (read on please)

Started by killerbot, June 21, 2006, 01:42:08 PM

Previous topic - Next topic

killerbot

I'd like to know who builds CB from sources with a version of GCC < 3.4 ?
If so could you tell me your OS and if possible why you are not using a more recent version of GCC ?

Why this question : something about precompiled headers. ;-)

Hey, even if you use a gcc >= 3.4, feel free to tell me.

tiwag

#1
gcc 3.4.4 (WinXP)
gcc 4.0.2 (Ubuntu 5.10)

i tried gcc 3.4.5 on WinXP but got too much warnings using dllexports and certain compile flags,
and i couldn't find any thing what would have worked better than with gcc 3.4.4

on linux i use simply the standard from the ubuntu update server

Michael

#2
Quote from: killerbot on June 21, 2006, 01:42:08 PM
Hey, even if you use a gcc >= 3.4, feel free to tell me.

Hello,

I have used on Windows GCC 3.4.4, 3.4.5, 4.1.0 and now 4.1.1. Unfortunately, I could not build C::B with 4.0.3 (but I could build wxWidgets :D).

On Ubuntu Dapper --> GCC 4.0.3
On Gentoo 2006.0 --> GCC 3.4.6

Best wishes,
Michael
[url="http://img207.imageshack.us/img207/9728/411948picture4em.png"]http://img207.imageshack.us/img207/9728/411948picture4em.png[/url]

oz

#3
WindowsXP+sp2: MinGW GCC 3.4.5
fedora core 5: GCC 4.1.1

thomas

regularly:
Windows XP SP2: MinGW gcc 3.4.5
Ubuntu 5.10/AMD64: gcc 4.0.x

occasionally:
Fedora Core 5/AMD64: gcc 4.1.x
SuSE 10.1/AMD64: gcc 4.1.x

months ago:
Fedora Core 4/x86: uh.... 4.0.x?
Windows XP SP2: MinGW gcc 3.4.4
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Der Meister

gcc 3.4.6 on gentoo

But I still have a version of gcc 3.3 (I guess it is 3.3.6) installed. If you want to I could probably try a build with this compiler on the next weekend...
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

MortenMacFly

#6
gcc 3.4.5 on WinXP and gcc 3.3.5 on SuSE Linux 9.3 (BTW: I'm just a user on that machine so it's not possible to update.)
Last time I build C::B under Linux was 2 days ago - it worked that time.

Edit: It actually did not work that time but I've committed a fix that it worked after I tried... ;-)
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

Pecan

#7
Win XPsp2 gcc 3.4.4

Ubuntu 5.1.0 gcc 4.0.2

OS X 10.3 gcc 3.3 (last available version for this platform. Cannot be updated)

OS X 10.4 gcc 3.3 & gcc 4.0.0 (3.3 required to build for prior 10.x releases)

sethjackson

Windows XP Pro SP2 GCC 3.4.4 (planning on upgrading to 3.4.5 soon......)

David Perfors

Win XP Pro SP2
GCC 3.4.5 (I think. VCF only builds with this version or higher so I compile C::B with it to)
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring

Der Meister

Sorry for not answering until now but I didn't have the time yet.
I just compiled revision 2639 with gcc 3.3.6. It worked after adding one include to the debugger-plugin:

Index: src/plugins/debuggergdb/debugger_defs.cpp
===================================================================
--- src/plugins/debuggergdb/debugger_defs.cpp   (revision 2639)
+++ src/plugins/debuggergdb/debugger_defs.cpp   (working copy)
@@ -7,6 +7,7 @@
#include <wx/dialog.h>
#include <wx/font.h>
#include <wx/sizer.h>
+#include <wx/textctrl.h>

#include <wx/arrimpl.cpp>
WX_DEFINE_OBJARRAY(WatchesArray);

Anyway, I couldn't compile the contrib-plugins yet because I get an error within byoCBTris::OnPaint (It works with gcc 3.4.6) and I did not check if Code::Blocks runs.

Besides: I'm not sure if we should still care about gcc 3.3 and older compilers. Does any distribution still use this compiler?
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Pecan

Quote from: Der Meister on June 29, 2006, 08:25:43 PM

Besides: I'm not sure if we should still care about gcc 3.3 and older compilers. Does any distribution still use this compiler?

Mac OS X 10.3 (Panther) uses it exclusively and OS X 10.4 uses it as a means to backward compatiblilty from Tiger/ppc/Intel systems.

Der Meister

Ok, I managed to build the contrib plugins with gcc 3.3.6. The ByoGames Plugin needed a few patches to get compiled, one of them is a real error:

Index: src/plugins/contrib/byogames/byocbtris.cpp
===================================================================
--- src/plugins/contrib/byogames/byocbtris.cpp  (revision 2639)
+++ src/plugins/contrib/byogames/byocbtris.cpp  (working copy)
@@ -108,7 +108,8 @@

void byoCBTris::OnPaint(wxPaintEvent& event)
{
-    wxBitmap buffer(wxImage(GetClientSize().GetWidth(),GetClientSize().GetHeight()));
+       wxSize size = GetClientSize();
+    wxBitmap buffer(wxImage(size.GetWidth(),size.GetHeight()));
     wxBufferedPaintDC DC(this,buffer);
     DrawBrickField(&DC);
     DrawCurrentChunk(&DC);
Index: src/plugins/contrib/byogames/byosnake.cpp
===================================================================
--- src/plugins/contrib/byogames/byosnake.cpp   (revision 2639)
+++ src/plugins/contrib/byogames/byosnake.cpp   (working copy)
@@ -77,7 +77,8 @@

void byoSnake::OnPaint(wxPaintEvent& event)
{
-    wxBitmap buffer(wxImage(GetClientSize().GetWidth(),GetClientSize().GetHeight()));
+       wxSize size = GetClientSize();
+    wxBitmap buffer(wxImage(size.GetWidth(),size.GetHeight()));
     wxBufferedPaintDC DC(this,buffer);
     DrawBorder(&DC);
     DrawSnake(&DC);
Index: src/plugins/contrib/byogames/byogameselect.cpp
===================================================================
--- src/plugins/contrib/byogames/byogameselect.cpp      (revision 2639)
+++ src/plugins/contrib/byogames/byogameselect.cpp      (working copy)
@@ -1,5 +1,5 @@
#include "sdk.h"
-#ifdef CB_PRECOMP
+#ifndef CB_PRECOMP
#include <wx/button.h>
#include <wx/intl.h>
#include <wx/listbox.h>

The last one is a real error the two others are som surprising problems - although the original code was correct gcc 3.3.6 seems to have some problems with it. But with this workaround I got it compiled.

Anyway, make install ran without problems, too, but I can't start Code::Blocks because wxGTK is compiled with gcc 3.4 and thus not compatible to my just build version of Code::Blocks. And I don't want to recompile wxGTK twice now ;)

Quote from: Pecan
Mac OS X 10.3 (Panther) uses it exclusively and OS X 10.4 uses it as a means to backward compatiblilty from Tiger/ppc/Intel systems.
Well, then we should still support this oldtimer and apply these few small patches.
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

killerbot

#13
Quote from: Der Meister on June 29, 2006, 08:25:43 PM
Sorry for not answering until now but I didn't have the time yet.
I just compiled revision 2639 with gcc 3.3.6. It worked after adding one include to the debugger-plugin:

Index: src/plugins/debuggergdb/debugger_defs.cpp
===================================================================
--- src/plugins/debuggergdb/debugger_defs.cpp   (revision 2639)
+++ src/plugins/debuggergdb/debugger_defs.cpp   (working copy)
@@ -7,6 +7,7 @@
#include <wx/dialog.h>
#include <wx/font.h>
#include <wx/sizer.h>
+#include <wx/textctrl.h>

#include <wx/arrimpl.cpp>
WX_DEFINE_OBJARRAY(WatchesArray);

Anyway, I couldn't compile the contrib-plugins yet because I get an error within byoCBTris::OnPaint (It works with gcc 3.4.6) and I did not check if Code::Blocks runs.

Besides: I'm not sure if we should still care about gcc 3.3 and older compilers. Does any distribution still use this compiler?

could you tell me what would happen if in sdk_common.h the following section would be removed :
#if defined(__GNUC__) && !defined(__APPLE__)
    #if ( (__GNUC__ < 3) || ( (__GNUC__ == 3) && (__GNUC_MINOR__ < 4) ) )
        #undef CB_PRECOMP
    #endif
#endif // __GNUC__ && !__APPLE__


support for old compilers : yes, that's the question.
I think Pecan was already able to build with that old gcc (and for him that section can go, because he has __APPLE__ defined ;-)  )

Der Meister

I can compile revision 2639 with gcc 3.3.6 on Linux without these lines of code. But you should note that I still had the few patches mentioned before applied. Perhaps these are necessary and the problems that made these pachtes necessary were introduced by a recent change. That would explain why Pecan could compile Code::Blocks without errors while I couldn't. But with these patches it still works.
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.