Instal MinGW?

BlitzMax Forums/BlitzMax Beginners Area/Instal MinGW?

Yue(Posted 2016) [#1]
What are the steps to install MinGW in BlitzMax ?


Derron(Posted 2016) [#2]
Install it in BlitzMax\MinGW32 and use Brucey's BMK:

steps:
- install MinGW in C:\YourPathTo\BlitzMax\MinGW32
- Download bmk-master.zip from github.com/bmx-ng/bmk.git (click "download or clone")
- unzip bmk-archive
- open MaxIDE and open bmk.bmx there, compile "threaded"
- rename bmk.mt.exe to bmk.exe and copy bmk.exe + make.bmk + core.bmk to your "C:\YourPathTo\BlitzMax\bin" (overwrite existing bmk.exe)

- within MaxIDE do a "rebuild all modules" (or from commandline: "C:\YourPathTo\BlitzMax\bin\bmk.exe makemods -a")


When now compiling it tries to use the MinGW installed in BlitzMax. The "lib"-folder of the vanilla BlitzMax is then no longer needed.


bye
Ron


Yue(Posted 2016) [#3]
Thanks You, Where Download MinGW32?


dawlane(Posted 2016) [#4]
Thanks You, Where Download MinGW32?

This should be OK to use.
http://tdm-gcc.tdragon.net/download
Or you can use the original
http://www.mingw.org/


Yue(Posted 2016) [#5]
Oops, Error here. Help Me.



Derron(Posted 2016) [#6]
What was the error? You did not only "compile" but surely clicked "compile and run".

Ignore that error and copy the newly created "bmk.exe" (or the bmk.mt.exe which you have to rename to bmk.exe).



bye
Ron


Yue(Posted 2016) [#7]
Ok, here new error.
I am having this error message, any suggestions?




Setup ok?.



All Setup?



Derron(Posted 2016) [#8]
No setup not ok.


- install MinGW in C:\YourPathTo\BlitzMax\MinGW32



you installed to C:\YourPathTo\BlitzMax\MinGW
(without the important "32").


bye
Ron


Yue(Posted 2016) [#9]
Opps, only change caption or setup new?


Yue(Posted 2016) [#10]
New Error:
Building psystem
[ 99%] Processing:psystem.bmx
[ 99%] Compiling:psystem.bmx.console.release.mt.win32.x86.s
flat assembler  version 1.69.14  (1220802 kilobytes memory)
3 passes, 4753 bytes.
[100%] Linking:psystem.mt.exe
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
Build Error: Failed to link C:/Xors3d Engine Trial/Samples/Source/BlitzMax/psystem.mt.exe
Process complete




dawlane(Posted 2016) [#11]
change the directory name of openb3d.mod-master to openb3d.mod.


Yue(Posted 2016) [#12]
Problem continue. ;(




Derron(Posted 2016) [#13]
Try to add

Import "-lwinpthread"

to the imports of your "CreateTerrain.bmx"


You might also think of doing a "non threaded" build to avoid this dependency.


bye
Ron


Yue(Posted 2016) [#14]
@Derron

Continue problem. :(

Building CreateTerrain
[ 99%] Processing:CreateTerrain.bmx
[ 99%] Compiling:CreateTerrain.bmx.console.release.win32.x86.s
flat assembler  version 1.69.14  (1211693 kilobytes memory)
3 passes, 2245 bytes.
[100%] Linking:CreateTerrain.exe
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
Build Error: Failed to link C:/BlitzMax/mod/openb3d.mod/examples/blitz3d/CreateTerrain.exe
Process complete



RustyKristi(Posted 2016) [#15]
Yue, is there a reason why you have to use Multi-threading the first time?

I suggest doing single thread only and then figuring out your specific problem later on, that is a time killer and you'll eventually solve this out from this forum.


Yue(Posted 2016) [#16]
No work,, multi-threading on/of return error Build.


Building CreateTerrain
[ 99%] Processing:CreateTerrain.bmx
[ 99%] Compiling:CreateTerrain.bmx.console.release.win32.x86.s
flat assembler  version 1.69.14  (1211693 kilobytes memory)
3 passes, 2245 bytes.
[100%] Linking:CreateTerrain.exe
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
Build Error: Failed to link C:/BlitzMax/mod/openb3d.mod/examples/blitz3d/CreateTerrain.exe
Process complete




RustyKristi(Posted 2016) [#17]
Try rebuilding all modules..

C:/BlitzMax/bin/bmk makemods -a -r

this will default to x86, single thread and release build all modules

then build your bmk project with the same settings in the editor, if not it will try to rebuild again for that particular project.


RustyKristi(Posted 2016) [#18]
And maybe you're forgetting your MinGW path in environment variables..



Variable = MinGW
Value = C:/Path/To/MinGW


Derron(Posted 2016) [#19]
Did you add

import "-lwinpthread"

to your CreateTerrain.bmx ?


@ recompilation
this is what I wrote already in the first reply (#2)

bye
Ron


Yue(Posted 2016) [#20]
Derrorn, Yes.



@RustyKristi



environment variables?


RustyKristi(Posted 2016) [#21]
https://vpease.wordpress.com/2015/09/08/variables-de-entorno-en-windows/

Ignore the java part but the first part deals with how to locate the environment variables panel

EDIT: Something is definitely wrong with your installation. The Build Module menu option should be enabled all the time, even if you have no opened tabs for building.


Yue(Posted 2016) [#22]



Problem continue.

Building CreateTerrain
[ 99%] Processing:CreateTerrain.bmx
[ 99%] Compiling:CreateTerrain.bmx.console.release.mt.win32.x86.s
flat assembler  version 1.69.14  (1106080 kilobytes memory)
3 passes, 2245 bytes.
[100%] Linking:CreateTerrain.mt.exe
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
Build Error: Failed to link C:/BlitzMax/mod/openb3d.mod/examples/blitz3d/CreateTerrain.mt.exe
Process complete




Yue(Posted 2016) [#23]
Dir WinG32 on BlitzMax.





Within the directory.



Right?


Derron(Posted 2016) [#24]

EDIT: Something is definitely wrong with your installation. The Build Module menu option should be enabled all the time, even if you have no opened tabs for building.


None of my installations is having this point _not_ greyed out. It is a path-thingy (if MaxIDE does not find MinGW, then it greys it out - and for this it also relies on some BlitzMax-functionality).


@ Yue

Your code should start with "Strict" and then "Import", not "import" and then "strict".



To manually rebuild, I already gave you the command in post #2 (the 6th point).

For your setup this means: Open up a command prompt (via "run" and entering "cmd").
Then type in:
c:
cd c:\BlitzMax\bin
bmk.exe makemods -a


Then you will have to wait a bit while it compiles all modules. If it fails to compile one of the modules, move that whole module out of the mod-folder until compilation modules finishs. Afterwards you might have a look why these modules failed to compile (if there are failed modules...).


bye
Ron


Brucey(Posted 2016) [#25]
Your code should start with "Strict" and then "Import", not "import" and then "strict"

I don't think it matters.
Lines with Framework, Strict, SuperStrict, Module, ModuleInfo, and Import are all basically the header section. You can mix the order of those as you like.
But you can't use them after that.


Derron(Posted 2016) [#26]
I assumed that already but thought it is better to do "as all others do" to avoid confusion. Also I did not bother to test if it works vice-versa.


bye
Ron


Brucey(Posted 2016) [#27]
Yes, consistent order is pleasing to the eyes ;-)


Yue(Posted 2016) [#28]
@Derron ;(






' import module
Import xorsteam.xors3d
Import "-lwinpthread"
' list for particles
Global particles:TList = New TList


Strict
Import "-lwinpthread"
Framework Openb3d.B3dglgraphics

Graphics3D 800,600



Error.

Building CreateTerrain
[ 99%] Processing:CreateTerrain.bmx
[ 99%] Compiling:CreateTerrain.bmx.console.release.mt.win32.x86.s
flat assembler  version 1.69.14  (973934 kilobytes memory)
3 passes, 2245 bytes.
[100%] Linking:CreateTerrain.mt.exe
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
Build Error: Failed to link C:/BlitzMax/mod/openb3d.mod/examples/blitz3d/CreateTerrain.mt.exe
Process complete



Derron(Posted 2016) [#29]
Compile Error: Can't find interface for module 'pub.opengles'

This module is only available for BMX-NG. So you cannot use it with original BlitzMax (1.50) now.


bye
Ron


Yue(Posted 2016) [#30]
I do not understand , ie I can not install modules to run ? :(


Derron(Posted 2016) [#31]
You can install modules ....

This shows, that you successfully installed MinGW (as you are able to compile .c-files)



The problem is: the module "OpenB3D" you try to use, is not compatible to "BlitzMax 1.50". To be able to compile it, you need the Module "pub.mod/opengles.mod". But "opengles.mod" is only available for "BlitzMax NG" (Brucey's BlitzMax-variant).


bye
Ron


Yue(Posted 2016) [#32]
Sorry , the problem was that I thought to run modules MinGW32 had to be installed , however, this is not necessary BlitzMax again, desistale MinGW32 and I can run modules as Xors3D etc.

Similarly thanks for the help , I think that's one of the drawbacks for not speaking English and using google translator , I can not understand many things and I'm wrong a lot in the process so I ended leaving everything .

Thanks Derron .





Derron(Posted 2016) [#33]
MinGW is needed as soon as C-files need to get compiled.

If you only write in BlitzMax, you will not encounter it but if you install some modules which are _not_ precompiled and contain these C-files, then you will need to install MinGW.

bye
Ron


RustyKristi(Posted 2016) [#34]
BTW I see you're only trying to compile OpenB3D here, I completely forgot but the latest OpenB3D is broken so there's a huge chance that you can get it to work on your end by rolling back to the previous version or commit that works. Ah, the magic of Git and subversioning! ;-)

I think this one: https://github.com/markcwm/openb3d.mod/commit/f152c0280812508814e7bf81f336eacf7d9b65cd

This was before the new GL2/GLES2 compatibility and deferred pipeline update with angros47.

munch's comment;
Sadly any example MAVs instantly and I'm stuck there. Note that it compiles and runs fine in OS/legacy Bmx and that Glew imports OpenGL so this fix shouldn't be needed.



Full Discussion here:
http://www.blitzbasic.com/Community/post.php?topic=106178&post=1307667

If you're not familiar with Git, I could whip up a clone and upload it later. Sorry I'm out atm..


TomToad(Posted 2016) [#35]
The problem is: the module "OpenB3D" you try to use, is not compatible to "BlitzMax 1.50". To be able to compile it, you need the Module "pub.mod/opengles.mod". But "opengles.mod" is only available for "BlitzMax NG" (Brucey's BlitzMax-variant).

Was this a recent change? The version I installed, Apr 11, 2016, works fine with OS version of Blitzmax. This code compiles and works fine:



RustyKristi(Posted 2016) [#36]
Yes the opengles version update was just committed about a week ago.


RustyKristi(Posted 2016) [#37]
There are 2 versions of openb3d, where the ng is behind munch version which already has 3d sound module included and updated shader cam modules

I think the move now is trying to make it compatible and unify both flavors.


Ralighón(Posted 2017) [#38]
Hi,

I am exactly in the same situation that Yue. At linking time I get...

[100%] Linking:MalangSwara v1.02 - x86.debug.exe
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lunicows
C:/BlitzMax/MinGW32/bin/ld.exe: cannot find -lwinpthread
Build Error: Failed to link F:/MalangSwara/MalangSwara v1.02 - develop/MalangSwara v1.02 - x86.exe
process complete

As you see, the linker doesn't found something called "unicows" and "winpthread" and is fully right: these files do not exist neither in my hard drive nor in the MinGW site, it seems (neither with the leading "l" -- I assume that the linker has placed it somehow).

Things I have done before asking for your help? A lot:

- I have upgraded bmk.exe

- I have reinstalled MinGW (basic installation, version 5.3.0) inside c:\BlitzMax, in a folder named MinGW32.

- I have checked the environment variables (I have created a user one, and I have appended the path to MinGW32 and MinGW32\bin to PATH)

- I have recompiled all modules with bmk makemods -a -r (the modules are: brl.mod, maxGUI.mod, pub.mod, wx.mod) with no errors.

- I have tried compiling my program both threaded and non threaded mode.

And, of course, I have followed the indications you give here. No avail :(

--

BTW, all this play began when I tried to install wx.mod. I just placed the pre-compiled version inside the mod folder but It didn't work. I could not recompile because I haven't MinGW installed. THIS is the closest point I have reached to get wx.mod working, what is my ultimate goal.

If I roll back the bmk.exe to the old version and recompile the modules, everything goes fine... except wx.mod. The compiler just "doesn't find the interface" -- neither wx.mod nor any other mod outside the BlitzMax installation (version 1.50). Not even the sample files work :O

I hope you have some advice for me.

Thank you!


Derron(Posted 2017) [#39]
unicows is no longer needed if your OS is newer or equal to XP ...

To make it available you should copy the file from an older MinGW to your BlitzMax/libs folder - or remove / comment-out the lines in the modules using it (use a file-search-tool and look for "-lunicows").



bye
Ron