I suggest that you renew support for MinGW.

What it says on the tin: a place to discuss proposed new features.
Post Reply
dirkmitt
Halfling
Posts: 40
Joined: Fri Sep 15, 2006 3:40 am
Contact:

I suggest that you renew support for MinGW.

Post by dirkmitt »

Hello.

It's been a while.

I just recently compiled the OGRE samples, for OGRE version 1.8.1 , on a new laptop I have, but using the SDK built specifically for MinGW.

I had initially also run in to the following error messages

http://forums.codeblocks.org/index.php/ ... 436.0.html

What I find a bit disappointing, is that apparently the existence of such errors, has caused the OGRE developers to stop publishing a MinGW version of their SDK.

I was able to surmount the error above, by custom-compiling my own Boost libraries, v1.55.0 , and then dropping in the entire boost/boost folder that contains the header files, as well as the exact .a files - static libraries - required, into the OGRE SDK's folders. And the Lo and Behold, the OGRE SDKs compiled fine!

My success in this suggests to me, since the original error messages were only coming from linking to the Boost static libraries, not from linking to all OGRE SDK libraries, that maybe a simple error was made when including the Boost libraries as part of the SDK, maybe to have dropped in the wrong build of Boost libraries, ?

Because indeed, when I recompiled them myself, I was also making sure, that the linking conventions used to build Boost, matched those used to build my OGRE Samples - which worked.

And so I feel that it was premature on the part of OGRE developers, to stop support for MinGW.

Dirk
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

The reason precompiled MinGW is not published is that there are so many versions that it is either too much work to publish them all, or too little use to pick one and publish that. MinGW support for Ogre has not been dropped, just precompiled binaries are not provided.
dirkmitt
Halfling
Posts: 40
Joined: Fri Sep 15, 2006 3:40 am
Contact:

Re: I suggest that you renew support for MinGW.

Post by dirkmitt »

I'm sorry to try to press this point.

But I just now downloaded the precompiled binaries for MinGW 4.8, for OGRE 1.8.1 , and don't think it was a fluke that essentially, my Samples compiled.

The main reason fw I prefer to use the SDK, and not to build from source, is that (1) under Windows, installing all the dependencies is a big pain, and (2) to build the DirectX renderer an even bigger pain, since I'm always leery to install the DirectX SDK from Microsoft, which essentially reinstalls DirectX. For me, OGRE is my SDK ... So in my experience, both on this Windows 8.1 Laptop and in an earlier experience on my Windows 7 tower PC, to install the precompiled version was anything but useless.

(Edit:) Admittedly, under Linux I have always built from source, but there, installing the dependencies is much more straightforward, I think, than it would be to install the DirectX SDK under Windows...

What I'm afraid of however, is that the linking conventions for the bundled Boost binaries, may have been incorrect, and that problems which did exist in trying to link GCC 4.8 MinGW to them, could have been misinterpreted as problems in getting any MinGW projects at all, to link to the OGRE SDK binaries , which I didn't experience any problems doing.

If I may ask: Aside from problems linking to Boost, how often did your users report problems, linking from up-to-date MinGW versions?
(Edit:) I mean, I also had to copy the file libstdc++-6.dll from my MinGW folder, to the folder with the executable I had built (the SampleBrowser). But I see that as more of a general usage question, for MinGW, which most users know about...

Dirk
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

dirkmitt wrote:I'm sorry to try to press this point.
That's fine, I'm just explaining to you from the announcement thread that the team is no longer doing mingw binary packages and recommend to those users to compile everything consistently under their chosen version of mingw. If you snoop around the forum you will find some of the issues that caused this decision to be made. It was not for no reason.
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: I suggest that you renew support for MinGW.

Post by frostbyte »

any news of precompiled Android? - is it also dropped?
should i use the rc1 version?? compile it myself?( oh no, not again... )
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

Either follow this to the letter with v1-9 branch: http://www.ogre3d.org/tikiwiki/tiki-ind ... on=Android
Or use default branch and the latest NDK
scottyp
Gnoblar
Posts: 24
Joined: Sat Jul 05, 2014 3:21 am
x 1

Re: I suggest that you renew support for MinGW.

Post by scottyp »

I 100% agree with OP dirkmitt here. Usually some developers or starters are using Windows as their main platform to work on but would still need to expand to other platforms, so MinGW would be the best choice for cross compiling.

It's either a precompiled version or at least a straight forward guide to acquire and build the dependencies in Windows, I'd prefer a precompiled SDK though.

+1000 on MinGW SDK
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

Sounds like a volunteer to me. You should pick a MinGW version and provide the precompiled SDK for the community.
scottyp
Gnoblar
Posts: 24
Joined: Sat Jul 05, 2014 3:21 am
x 1

Re: I suggest that you renew support for MinGW.

Post by scottyp »

I would be glad to volunteer and do that if I know where to start.. :wink: That's the problem here, I'm just building from existing SDKs at the moment fyi.
c6burns wrote:Sounds like a volunteer to me. You should pick a MinGW version and provide the precompiled SDK for the community.
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

Of course this is just my opinion, but I don't see why people choose mingw over vc++ for windows deployment (except for very specific circumstances, eg. c99 ... although I hear that's been added in 2013). Especially if you are not a programmer by trade, I recommend visual studio. There are definitely some mingw users around though, and I'm sure they have their reasons ... don't taze me bro.

The problem with precompiled SDKs is that mingw cycles versions fairly quickly, meaning there are a lot of versions out there and some are not compatible with each other. This led to some strange issues stemming from version mismatch which made supporting binaries difficult. This is why there are no precompiled binaries for mingw anymore.

You can compile Ogre on mingw, you just need to build it all yourself. So start with the ogredeps repo, then copy the dependencies over and build Ogre itself. I did it once in Code::Blocks when I was bored. Since ogre and ogredeps use CMake, it makes things a bit easier.
scottyp
Gnoblar
Posts: 24
Joined: Sat Jul 05, 2014 3:21 am
x 1

Re: I suggest that you renew support for MinGW.

Post by scottyp »

Ok sorry I didn't mean to start anything here, just a concerned new member and I'm a bit curious too but I understand now. Thanks for the detailed explanation. :)
c6burns wrote:Of course this is just my opinion, but I don't see why people choose mingw over vc++ for windows deployment (except for very specific circumstances, eg. c99 ... although I hear that's been added in 2013). Especially if you are not a programmer by trade, I recommend visual studio. There are definitely some mingw users around though, and I'm sure they have their reasons ... don't taze me bro.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5292
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: I suggest that you renew support for MinGW.

Post by dark_sylinc »

dirkmitt wrote:The main reason fw I prefer to use the SDK, and not to build from source, is that (1) under Windows, installing all the dependencies is a big pain
Au contraire. If you use ogredeps repo and tell CMake to use the deps repo folder, it's the easiest platform to setup the Dependencies and build from source.
dirkmitt wrote:to build the DirectX renderer an even bigger pain, since I'm always leery to install the DirectX SDK from Microsoft, which essentially reinstalls DirectX. For me, OGRE is my SDK ... So in my experience, both on this Windows 8.1 Laptop and in an earlier experience on my Windows 7 tower PC, to install the precompiled version was anything but useless.
Doing any king of DX graphics development without the DX SDK is kamikaze. The SDK brings many useful tools (Dx Texture Tool, Dx Caps Viewer, Documentation, PIX, samples and debug runtimes) which are must have for any developer doing 3D graphics.
I highly advised you should look into getting used to having it installed.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: I suggest that you renew support for MinGW.

Post by Kojack »

scottyp wrote:It's either a precompiled version or at least a straight forward guide to acquire and build the dependencies in Windows, I'd prefer a precompiled SDK though.

+1000 on MinGW SDK
We have a team member for MingW support: TheSHEEEP. In his experience porecompiled sdks with MingW are far too problematic, most issues people on the forum had came down to them using slightly different versions of MingW to what he used to build the sdks. So binary sdks were dropped. Visual Studio does suffer from similar problems, different compilers and even updates to the compiler can cause instability, but it updates much less often and it's very obvious which version you are running.
For a guide to building on windows with MingW, have you tried this: http://www.ogre3d.org/tikiwiki/tiki-ind ... +and+MinGW
It's by TheSHEEEP and looks pretty simple (although I haven't tried it myself).
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 135
Contact:

Re: I suggest that you renew support for MinGW.

Post by spacegaier »

dark_sylinc wrote:
dirkmitt wrote:The main reason fw I prefer to use the SDK, and not to build from source, is that (1) under Windows, installing all the dependencies is a big pain
Au contraire. If you use ogredeps repo and tell CMake to use the deps repo folder, it's the easiest platform to setup the Dependencies and build from source.
I can only stress that point. If you place the downloaded dependencies inside the Ogre source folder in a new folder called "Dependencies", you don't even have to tell CMake anything, since that will automatically be picked up and be compiled alongside Ogre itself. Simple as that.

As as idea: We might be adding that folder to the official source repository and only put a text file in it with the link to the Ogre dependencies repository. That might clear it up.
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
kracejic
Kobold
Posts: 25
Joined: Wed Sep 10, 2014 5:18 pm
x 1

Re: I suggest that you renew support for MinGW.

Post by kracejic »

Recently I had to install Ogre with MinGW on several Windows PCs and on second machine I wrote down all the necessary steps. On the third it was as easy as ctrl-c + ctrl-v.

So I put together small command by command tutorial on how to do it and I have created a new wiki page for it.
http://www.ogre3d.org/tikiwiki/tiki-ind ... uide+MinGW

It is based on tutorial from TheSHEEEP, but I take different approach - less clicking, more command line, less thinking, more copy/paste. :) I think it is more error-proof than clicking on gui and checking screenshots on where to click. It is also faster, you just insert commands and wait until it compiles.

I hope it will help somebody. :)
Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: I suggest that you renew support for MinGW.

Post by Transporter »

spacegaier wrote:As as idea: We might be adding that folder to the official source repository and only put a text file in it with the link to the Ogre dependencies repository. That might clear it up.
I have an idea, too. You could also link that dependency repository as a sub module in main repository.
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: I suggest that you renew support for MinGW.

Post by frostbyte »

just in case anyone missed this thread...here is a cool solution... 8)
http://www.ogre3d.org/forums/viewtopic.php?f=1&t=81770
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
DarioOli
Gnoblar
Posts: 6
Joined: Tue Aug 12, 2014 8:45 pm

Re: I suggest that you renew support for MinGW.

Post by DarioOli »

I that can helps in my opensource projects I maintain a dozen different compiler versions and different operative systems (still have to figure out to do the same for android and emscripten but that's secondary now for my priorities). Also I do automated test/deploy, so basically my work cycle is:

1) prepare a commit
2) make sure it compile and passes tests on my machine
3) let automation get handle dozen compilers to compile and test with everyone
4) eventually fix broken parts/tests for some compilers (tipically I forget some times to put a "return" wich is a warning for GCC but an error for VS, some times I find that GCC include additional headers and then I have to add those headers manually because missing on other compilers)
5) commit the hotfix and eventually go back to point 1)

It's pretty straightforward and save A LOT of manual effort. => more people able to compile and use ogre => more feedback for bugfixes/ API suggestions / more users.
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

mingw is bad and you should feel bad
hydexon
Gremlin
Posts: 164
Joined: Sun Apr 14, 2013 8:51 pm
x 10

Re: I suggest that you renew support for MinGW.

Post by hydexon »

c6burns wrote:mingw is bad and you should feel bad
I don't know why people want to rely using GCC compilers in Windows, specially newbies?, when the only use of it is for porting UNIX/Linux apps into Windows, when the best supported for Windows is Visual C++, this can be two factors: The weight of Visual Studio or the Dev-C++/CodeBlocks fever of 2004.
Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: I suggest that you renew support for MinGW.

Post by Transporter »

hydexon wrote:
c6burns wrote:mingw is bad and you should feel bad
I don't know why people want to rely using GCC compilers in Windows, specially newbies?, when the only use of it is for porting UNIX/Linux apps into Windows, when the best supported for Windows is Visual C++, this can be two factors: The weight of Visual Studio or the Dev-C++/CodeBlocks fever of 2004.
For information: It is not necessary to use the Visual Studio IDE (which is the biggest part of VS). You can create the OGRE projects with CMake and compile it from the windows command line with VC++. I always use this method.
User avatar
TheOnlyJoey
Halfling
Posts: 53
Joined: Sun Apr 10, 2011 12:05 pm
Location: The Netherlands
x 6
Contact:

Re: I suggest that you renew support for MinGW.

Post by TheOnlyJoey »

hydexon wrote:
c6burns wrote:mingw is bad and you should feel bad
I don't know why people want to rely using GCC compilers in Windows, specially newbies?, when the only use of it is for porting UNIX/Linux apps into Windows, when the best supported for Windows is Visual C++, this can be two factors: The weight of Visual Studio or the Dev-C++/CodeBlocks fever of 2004.
GCC still compiles cleaner binaries then VC++.
That and with multiple breaking compiler extensions and slow full support for C99, we always shipped our software and games with GCC.
The only exception is Mac OSX where we switched to Clang last year.
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: I suggest that you renew support for MinGW.

Post by c6burns »

C99 support is a good reason to use mingw. Then again, this thread was never about whether it's a good idea to use mingw. This thread was about whether or not the Ogre team should distribute mingw binary builds, which by the way were fraught with issues and arguably caused more harm than good (through no fault of the ogre team, I should note).

One issue I have seen time and again is developers choosing mingw without a good reason to do so. Then getting stuck on various issues relating to direct X or windows development, and lacking the fundamental knowledge of the platform required to solve those issues. That is why I would say if you don't have a good reason to use mingw you should use microsoft's compiler to make windows builds, especially if you plan to use directx in any capacity. "I dont like VS" and "I want my game to work on linux" are not good reasons to use mingw, and those are the most common I have seen. C99 support, as I said, is an excellent reason. I have yet to see someone struggling with ogre and mingw say they chose it for C99, even though it's one of the strongest reasons to choose it :lol:

TLDR there's no problem with mingw if you know what you are doing. But if you know what you are doing, you won't be using the ogre team's binary SDK anyway
Post Reply