News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

GCC 4.1.2 available (now relocatable!)

Started by TDragon, February 26, 2007, 03:20:04 AM

Previous topic - Next topic

courage

I try to build the samples of Ogre1.4 RC2, and it will throw a runtime error when starting to render graphics.
I think that maybe buinutils or mingw-runtime should be recompiled by configuring "--enable-fully-dynamic-string". :)

TDragon

Quote from: courage on March 14, 2007, 02:19:43 PM
I think that maybe buinutils or mingw-runtime should be recompiled by configuring "--enable-fully-dynamic-string". :)
Not a pertinent option for those packages; they have nothing to do with std::string objects.

Actually, I've been reading a bit further on using Ogre with MinGW and have come across this post on the Ogre forums, which suggests that GCC's exception handling can be another source of problems. Since I haven't actually built Ogre with GCC 4.1.2 (embarrassed cough), only 4.1.1, I will go ahead and do so and see if I can pin this error down.

Any details you can give me about your configuration, as well as the name of an Ogre sample which always throws the runtime error, would be appreciated as I work on this.
[url="https://jmeubank.github.io/tdm-gcc/"]https://jmeubank.github.io/tdm-gcc/[/url] - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

courage

#47
Quote from: TDragon on March 14, 2007, 02:28:39 PM
Not a pertinent option for those packages; they have nothing to do with std::string objects.

Sorry for my ignorance and thanks for your work.  :)

Quote from: TDragon on March 14, 2007, 02:28:39 PM
Since I haven't actually built Ogre with GCC 4.1.2 (embarrassed cough), only 4.1.1, I will go ahead and do so and see if I can pin this error down.

Please don't be embarrassed.
I am appreciated your work.  :)

Quote from: TDragon on March 14, 2007, 02:28:39 PM
Any details you can give me about your configuration, as well as the name of an Ogre sample which always throws the runtime error, would be appreciated as I work on this.

I think I would find what the mistake I made. :o
I used the official prebuilt SDK and it could be compiled by gcc3.4.5.
I really feel so embarrassed.  :?

TDragon

Quote from: courage on March 14, 2007, 03:28:22 PM
I think I would find what the mistake I made. :o
I used the official prebuilt SDK and it could be compiled by gcc3.4.5.
That is likely the source of the problem, although I wish it wasn't. Ideally, you should be able to use your own 4.1.2-compiled programs with the 3.4.5-compiled SDK.

I'm going to continue research in this area with both Ogre's official prebuilt SDK and my own build from sources. Further updates as results warrant.
[url="https://jmeubank.github.io/tdm-gcc/"]https://jmeubank.github.io/tdm-gcc/[/url] - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

wxLearner

#49
Quote from: courage on March 14, 2007, 03:28:22 PM
I think I would find what the mistake I made. :o
I used the official prebuilt SDK and it could be compiled by gcc3.4.5.
I really feel embarrassed.  :?
The problem seems to be, that the prebuilt SDK uses DWARF2 exception handling, but the default is SJLJ.

On windows there can appear problems with the superior DW2 EH, if functions that throw DW2 exceptions are used as callbacks by non-DW2-enabled functions (like Win32 API). I've read about this here. There is also information about the DW2 issue in this older thread.

Edit:
Sorry, it looks like SJLJ isn't the default EH mechanism. I don't know.

courage

#50
After building Ogre1.4 RC2 by GCC4.1.2, the situation became worse.
When I used prebuilt SDK, it can showed the device configuration window of Ogre samples,
but now it just threw the runtime error and left the message in Build log below:
Process terminated with status 3 (0 minutes, 4 seconds)

I just used default configuration to build under release mode with Code::Blocks and
I had some problems when compiling debug mode.
Sorry that I can't provide any useful message.

Grom

Would be grate to have a latest nightly build with installer, wxWidgets, and mingw-gcc 4.1.2. That will be really cool. Last time the installer was created in November with gcc 3.4.5 :|.
gcc+winXP+suse.

TDragon

Quote from: Grom on March 14, 2007, 06:53:36 PM
Would be grate to have a latest nightly build with installer, wxWidgets, and mingw-gcc 4.1.2.
Including GCC 4.1.2 probably wouldn't be such a great idea to the Code::Blocks devs, who would start receiving requests for support on issues with software that has no official support. Even personally, I prefer to leave my 4.1.2 build as more of a "use at your own risk" upgrade, where it's clear that some things might break and that people who aren't willing and able to take an active role in bugfixing should stick with the more official 3.4.5 distribution.
[url="https://jmeubank.github.io/tdm-gcc/"]https://jmeubank.github.io/tdm-gcc/[/url] - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Grom

All "official" seems to be sleeping :lol:. The last one build was unofficial too :wink:.
gcc+winXP+suse.

nenin

Quote from: Grom on March 14, 2007, 09:46:54 PM
All "official" seems to be sleeping :lol:. The last one build was unofficial too :wink:.
I`m afraid I`m to old to wait for official builds. Life is so short.. :(.

courage

#55
Quote from: nenin on March 14, 2007, 10:13:57 PM
Quote from: Grom on March 14, 2007, 09:46:54 PM
All "official" seems to be sleeping :lol:. The last one build was unofficial too :wink:.
I`m afraid I`m to old to wait for official builds. Life is so short.. :(.

Although I am a amateur programmer(end programmer),
but I think the nightly build is always stable enough for me. :)

I think official release is not very meaningful presently,
because every bug fixed nightly build could be a certain "official build".

Grom

Yeee official release is not important.... Specially when there is a team and you not absolutely sure in what "night" they have been frozen. The answer was to use unofficial builds... :lol: I have bad stories to say about people from my team, they are buzzy with some work and didn't have a chance to seat on forum and look for stupid new versions.
gcc+winXP+suse.

wxLearner

Quote from: courage on March 14, 2007, 05:11:35 PM
After building Ogre1.4 RC2 by GCC4.1.2, the situation became worse.
When I used prebuilt SDK, it can showed the device configuration window of Ogre samples,
but now it just threw the runtime error and left the message in Build log below:
Process terminated with status 3 (0 minutes, 4 seconds)

I just used default configuration to build under release mode with Code::Blocks and
I had some problems when compiling debug mode.
Sorry that I can't provide any useful message.

Did you compile the dependencies yourself also? Once I encountered similar problems with the MinGW gcc-DW2-3.4.5 and other libraries, that were precompiled with an other compiler, that didn't use DW2 EH. After compiling them all with DW2 EH, the problems were gone. One big advantage with DW2 was, that the binaries were much smaller. If you compile for example wxWidgets (monolithic-unicode-release-dll) with gcc-DW2-3.4.5 it's about 1MB smaller than with the usual gcc-3.4.5 release. Of course mostly speed is more important than executable-size, so I also prefer using gcc-4.1.2 now.

courage

Quote from: wxLearner on March 15, 2007, 10:12:57 AM
Did you compile the dependencies yourself also?

No, I afraid I don't have time to recompile these, I use the prebuilt dependencies libraries before.
Just like TDragon saying,
"Ideally, you should be able to use your own 4.1.2-compiled programs with the 3.4.5-compiled SDK.",
in my experience, I had used VisualC7 to compile codes and link libraries that Visual6 built,
and it works fine. I think this problem is strange.
Anyway, thanks for your suggestion. :)

Quote from: wxLearner on March 15, 2007, 10:12:57 AM
Of course mostly speed is more important than executable-size, so I also prefer using gcc-4.1.2 now.

I also prefer better proformance. :)
Pardon me, did you build ogre with gcc4.1.2 and run samples successfully?

wxLearner

Quote from: courage on March 15, 2007, 02:54:23 PM
Pardon me, did you build ogre with gcc4.1.2 and run samples successfully?
No, I didn't build ogre yet. But I've built nearly all the dependencies with gcc-4.1.2, so I'll try soon :)