Author Topic: The 18 June 2006 build is out.  (Read 51014 times)

Offline oz

  • Multiple posting newcomer
  • *
  • Posts: 47
Re: The 18 June 2006 build is out.
« Reply #45 on: June 20, 2006, 06:37:02 pm »
http://www.mingw.org/download.shtml

MinGW (GCC 3.4.4/5)

What, binary or source? gcc-objc, gcc-ada, gcc-core, gcc-g++, gcc-g77, I guess not gcc-java.
    *  gcc-core : the core of the GCC suite
    * gcc-g++ : the c++ compiler
    * mingw Runtime : implementation of the run time libraries
    * mingw utils : several utilities (implementation of smaller programs that GCC itself uses)
    * win32Api : the APIs for creating Windows programs
    * binutils : several utilities used in build environments
    * make : the Gnu make program, so you can build from make files
    * GDB : the Gnu debugger : for hunting those nasty bugs
download the newest version of the above packages, totally 8. the newest win32aip appears at the right-top coner of the main page.

simply extract all the packages into C:\MinGW folder is OK.

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
Re: The 18 June 2006 build is out.
« Reply #46 on: June 20, 2006, 07:01:49 pm »
http://www.mingw.org/download.shtml

MinGW (GCC 3.4.4/5)

What, binary or source? gcc-objc, gcc-ada, gcc-core, gcc-g++, gcc-g77, I guess not gcc-java.

I don't know what those terms mean, I've only being learning c++ for about a year and visual basic for about a year before that. It really isn't as easy as your list suggests if you don't know what all these versions are for and, more to the point, don't really want to know.

If you read the nightly cookbook you will get nearly everything explained at a very basic level (well that was the purpose ;-) ).
Svn, gcc, ... and so on.

Something I could do so you don't have to build yourself, is to provide with the debug build of the nighly build, when that one crashes, the crash report might give some more feedback (it could even tell us at what line the crash happened). This package will be a lot bigger to download (since the debugging symbols are in there).

What do you think ??

[EDIT] : here it is : http://download.berlios.de/codeblocks/20june2006debug.7z (so debug version of nightly of 20 june 2006)
« Last Edit: June 20, 2006, 07:10:02 pm by killerbot »

royalbox

  • Guest
Re: The 18 June 2006 build is out.
« Reply #47 on: June 20, 2006, 07:59:07 pm »
Thanks oz.

killerbot, thanks a lot I'm downloading it now. I'll try it with gdb and post the results.

royalbox

  • Guest
Re: The 18 June 2006 build is out.
« Reply #48 on: June 20, 2006, 08:08:59 pm »
Right, I tried it with gdb. As before, I clicked on the 'open' icon and got:
Quote
Program received signal SIGSEGV, Segmentation fault.
0x77ea3c00 in RpcRaiseException () from C:\WINDOWS\system32\rpcrt4.dll
I then typed
Code
bt all
and got:
Quote
No symbol "all" in current context.

Offline Michael

  • Lives here!
  • ****
  • Posts: 1608
Re: The 18 June 2006 build is out.
« Reply #49 on: June 20, 2006, 08:09:35 pm »
@Michael
Alright, well lets see.

http://wxwidgets.org/downloads/#latest_stable :
Quote
wxWidgets 2.6.3 Downloads

    * Source Archives
          o wxALL (Other formats: bz2, zip)
          o wxMSW(Other formats: zip)
          o wxGTK
          o wxMac
          o wxX11
          o Other ports (Motif, OS/2, MGL, Base) and releases ...
Do I need wxALL, wxMSW, wx GTK, I guess not wxMac, sxX11, I guess not other ports. Or do I need a release version? I know nothing about wxWidgets. I'ts not something I've even looked at within code::blocks, I just know it's there.

Quote
PS.: In the forums there are helpful posts Smile.
Yes, I'm sure there are but as I said, it's not something that interests me enough to spend the time looking.

I see you have svn listed there. I've never had the need to use svn. It's a term I've seen around a bit over the years but I don't really know what it is. If it means spending time reading about it and learning to to use it just so that I try and find out why I'm getting an access violation then, well, I just can't. My mind will start to wander before I've read a couple of sentences.

Thank you though, I know you're only trying to help.

Hello,

The best approach would be to do one step after the other :). And do not scare too much. There are people helping on this forum :).

First, download MinGW+GDB.

For MinGW:

Download the installer MinGW-5.0.2:
http://prdownloads.sf.net/mingw/MinGW-5.0.2.exe?download

Install the candidate (not the stable) release unter C:\

Then download GDB 6.3.x and install it:
http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download

Ok. Now wxWidgets 2.6.3.

Download it and unzip it:
http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.6.3.zip

Then the patch2:
ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.zip

Install the patch2 over wxWidgets 2.6.3

Now build wxWidgets (see also here):
1) cd .\wxWidgets-2.6.3\build\msw (where makefile.gcc is located)
2) Clean: mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean
3) Build: mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1

Ok. Now get TortoiseSVN and install it (it is a shell extension!!!):
http://tortoisesvn.tigris.org/

Check out C::B SVN sources:
right click where you want to download the sources, chose checkou and give: svn://svn.berlios.de/codeblocks/trunk

Ok. Now get zip.exe: http://forums.codeblocks.org/index.php?topic=1554.msg11077#msg11077

Download and install the latest nightly build.

Open the cb project: CodeBlocks.cbp

After set correctly the global variable wx (for me: C:\temp\wxWidgets-2.6.3-1) and cb (for me: C:\Programme\DANAE\CodeBlocks\CodeBlocks\src).

Build the project. When it is finished close the project and run update.bat.

Open the contrib. plugin workspace: ContribPlugins.workspace
Build the workspace. When finished close it and quit C::B. Copy the devel directory where you would like to have C::B and rename it, e.g., codeblocks. If it starting C::B it complains about a missing dll (wxWidgets one IIRC), then copy it into the renamed devel directory.

That should be, if I do not have missed something. But if you have problems you can always ask :).

Good luck and best wishes,
Michael

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
Re: The 18 June 2006 build is out.
« Reply #50 on: June 20, 2006, 10:07:06 pm »
Right, I tried it with gdb. As before, I clicked on the 'open' icon and got:
Quote
Program received signal SIGSEGV, Segmentation fault.
0x77ea3c00 in RpcRaiseException () from C:\WINDOWS\system32\rpcrt4.dll
I then typed
Code
bt all
and got:
Quote
No symbol "all" in current context.


just use the debug version (don't let gdb run it) and let it crash, see if then an rpt is created ?

royalbox

  • Guest
Re: The 18 June 2006 build is out.
« Reply #51 on: June 20, 2006, 11:44:27 pm »
@Michael
Thanks for all that info, I'll keep a link to it in case I change my mind one of these days and want to compile CB.

@killerbot
No gdb, okay.

This is what I did then. I extracted the debug version to a folder on my desktop. I added the required dll's -- mingwm10.dll and the other one. I deleted the codeblocks folder from documents and settings\.... I ran codeblocks directly from the exe. After the splash screen, compiler selection dialog, tips dialog and file association dialog, code::blocks opened. I clicked on the open icon and it brought up the expected "whoa!" "access violation" dialog. I clicked on abort, the dialog closed and the 'open' dialog opened as if nothing had happened. I closed the 'open' dialog, closed code::blocks and searched for any kind of crash report. All that I could find was the "cb-crash-recover" folder that was created.
That's it. Unless you have any other suggestions to try.

Perhaps some of the other posters who had the same problem will try your debug build and see if they have any luck, I hope so.
« Last Edit: June 20, 2006, 11:47:28 pm by royalbox »

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 18 June 2006 build is out.
« Reply #52 on: June 20, 2006, 11:48:56 pm »
I have changed the crash handler to explicitely only handle two exceptions now:
segmentation fault, and illegal instruction.

Although I cannot reproduce the problem and don't know what is causing it for you, this might solve the problem.

On the other hand, this means Code::Blocks may crash again on certain events (because they are not caught any more), but a segmentation fault due to an uninitialised pointer is the most frequently occurring bug anyway (well over 95% of all crashes). So I guess handling this and illegal instructions is good enough.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
Re: The 18 June 2006 build is out.
« Reply #53 on: June 20, 2006, 11:55:53 pm »
see my post in the nightly build of the 20th, I also had crashes and after abort i could continue ...

royalbox

  • Guest
Re: The 18 June 2006 build is out.
« Reply #54 on: June 21, 2006, 12:00:27 am »
Ok, thanks everyone for all your help and hard work. I'm only sorry my testing couldn't give you the answer.

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 18 June 2006 build is out.
« Reply #55 on: June 21, 2006, 12:09:25 am »
Well, test again after Lieven has released another build.

As it is now, it must work, no matter what the original problem was. If the exception code is anything except the two described above, the handler immediately returns.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
Re: The 18 June 2006 build is out.
« Reply #56 on: June 21, 2006, 12:24:01 am »
@Thomas :

I am fixing a whole lot of includes in headers and cpp's.
Crashhandler.h is one of them. It does not include anything, but it needs "PVECTORED_EXCEPTION_HANDLER".
I have no idea where it comes from, it did a search in wx but no luck. Though in the past it probably worked because it got included in a cpp file that before that include already included either wx.h or another header.
Can you tell me which one contains the definition of "PVECTORED_EXCEPTION_HANDLER" ?

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 18 June 2006 build is out.
« Reply #57 on: June 21, 2006, 12:38:50 am »
It is defined in winbase.h. I intentionally left out that particular include, as main.cpp includes wx/wx.h anyway, and that includes windows.h, too. Windows is in the precompiled header, too.

Linux is no concern, as the crash handler does nothing under Linux anyway, and it would need unistd.h rather than windows.h if someone were to implement a sigaction based version.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."