Error compiling just about Windows / 1.30

BlitzMax Forums/BlitzMax Programming/Error compiling just about Windows / 1.30

Blueapples(Posted 2008) [#1]
Edit: the title was supposed to be "just about anything"....

These errors make no sense to me at all. I have a vanilla 1.30 install on XP Home edition, with MaxGUI 1.30 on top of that. What the heck does this stuff mean?





Blueapples(Posted 2008) [#2]
Compiling a minib3d example gives similar results:




Brucey(Posted 2008) [#3]
Off the top of my head, I would guess that you're using the wrong version of MinGW.
The errors indicate ABI compatibility problems - usually associated with different versions of MinGW.


Floyd(Posted 2008) [#4]
This looks like the kind of mess you get when something in an update conflicts with a previously existing version. That's why I long ago quit trying to update a working installation.

Start with the 1.30 installer and the latest maxgui zip file from the product updates page. Run the installer and tell it to install to a new folder. I like to call mine \BlitzMax130 to make the version easy to recognize. Then add maxgui to the \mod folder as usual.

It's okay to have multiple versions installed. I probably have about five of them right now. Occasionally I clean house, deleting the very old versions.


markcw(Posted 2008) [#5]
Eh, since you say you're using a 'vanilla' install of BMax 1.30 and MaxGUI then it can't be an SVN update issue, and also can't be a MingW issue as you aren't building modules.

So you must have something 'dirty' installed that is causing a conflict with BMax.


GfK(Posted 2008) [#6]
Eh, since you say you're using a 'vanilla' install of BMax 1.30 and MaxGUI then it can't be an SVN update issue
How do you get MaxGUI without using SVN?

Also, you used to have to build all modules after downloading MaxGUI from the SVN repository - don't know if that's still the case.


rs22(Posted 2008) [#7]
How do you get MaxGUI without using SVN?

You can now download it from the Product updates section.


Blueapples(Posted 2008) [#8]
Off the top of my head, I would guess that you're using the wrong version of MinGW.
The errors indicate ABI compatibility problems - usually associated with different versions of MinGW.


Does MaxGUI require MingW? This seems like something I should know, and of course it does... actually... half of it is written in C.

The thing is that I have used BlitzMax on this machine before, 1.28 worked just fine for compiling modules. Did the required version of MingW change? I guess it's also possible somehow I've messed up my environment (maybe the PATH got clipped - that's happened to me before because of badly written installers) so that MingW is inaccessible or the wrong version is being used. That machine is honestly a bit crufty - been using it with this image since 2006. Probably time for a re-image anyway.

Also, you used to have to build all modules after downloading MaxGUI from the SVN repository - don't know if that's still the case.


That's the weird thing - I did that and it worked fine! Then I try to compile anything and I get these bizarre error messages!

Originally I had tried to use my existing install of 1.28, but when I got these errors I renamed that to a separate folder and re-installed 1.30 and MaxGUI. Still happening.

Does MingW have some kind of object cache somewhere that might contain references to this stuff? I'm really at a loss right now... glad it is working fine on my Mac.

I wish the IDE would just check the environment, something like ./configure does, to make sure you have MingW (and any other required third party tool) installed correctly and the correct version.


markcw(Posted 2008) [#9]
BMax 1.30 and MaxGUI 1.30 come with all the modules built so you don't need MingW in Windows to get MaxGUI working any more.


Blueapples(Posted 2008) [#10]
That's very cool. I think it might also explain my problem - I probably don't have the version of MingW that they built those modules with.


Hotcakes(Posted 2008) [#11]
I wish the IDE would just check the environment, something like ./configure does, to make sure you have MingW (and any other required third party tool) installed correctly and the correct version.

If that is actually possible, it should have been implemented from the start!!!


markcw(Posted 2008) [#12]
It doesn't matter what version of MingW compiler you have if you're not building modules, all MingW is used for is building the modules which are in C++. It is not used for building BMax code.


Brucey(Posted 2008) [#13]
I doubt you'd get far building minib3d without it.

Anyhoo, the problem shown is a C++ ABI incompatibility. Which is pretty obvious given the errors. Even if he doesn't have MinGW, it can be caused by a bad installation of BlitzMax. Notably, if you install, for example, 1.30 over the top of 1.26, it might not necessarily update all the MinGW (yes, indeed) libraries, which are supplied as part of BlitzMax. There's also ld.exe and ar.exe in the bin folder (also part of MinGW), which may not be updated to the version as supplied with 1.30.

Usually, (well, I say usually, because it is what I would usually do, but I imagine everyone else does their own thing), one would make a clean install of BlitzMax, and copy any 3rd-party modules from the old install... and rebuild everything. Of course, a rebuild requires MinGW... in which case I would make a clean install of that too.
In both cases (the MinGW and BlitzMax), you can simply rename the old install folder to something else, and install new... copying any files you need afterwards.

Blueapples, if you are still stuck, drop me a mail and I'll tell you how to sort it...