August 25, 2019, 12:22:12 AM

Author Topic: I am looking for complete guide how to compile wxMax  (Read 1043 times)

Offline takis76

  • Jr. Member
  • **
  • Posts: 85
I am looking for complete guide how to compile wxMax
« on: July 17, 2019, 06:17:36 PM »
Hello,
I am interesting to compile the nice wxWidgets BlitzMax ported version wxMax GUI module in BlitzMax.
I have downloeded the version 1.01 the file (wxmax_1_01_src.rar) from this site: https://code.google.com/archive/p/wxmax/downloads
I am usually using the Blide advance module builder to build my modules.
I am using MinGW 4.6.2 to compile my projects and I have compiled my existing modules with this version of Gcc. But I am unable to compile the wxMax 1.01 source code.
I am using the Vanilla version 32Bit of Blitzmax 1.50. (Is there any newer version?)

Is there any complete guide which explains in complete details how to compile the wxMax module and what changes do I need to make because searching in the interened I found some instructions but they are ending to be unable to compile the module correctly, to have lots of compile errors, missing files and not able to compile my current modules after making some changes in the BlitzMax too and ending to destroy and the BlitMax too.

What files I need to download.
Which version of MinGW need to download exactly and from where.
What source code files need to alter.
Somewere I read, I need to do changes in the BMK too. (There I ruined my BlitzMax).
And when it will compile and able to play with my current modules:
GMan(Zip Engine)
Koriolis(ZipStream)
(IfsoGUI)
srs(Shader Framework)
(renderimage)

And finally where to find nice tutorials how to use the functions and create new Gui programms.

Thank you very very much.

Offline takis76

  • Jr. Member
  • **
  • Posts: 85
Re: I am looking for complete guide how to compile wxMax
« Reply #1 on: July 18, 2019, 10:04:43 PM »
Hmm,
It seems most of people haven't figure out how to compile the wxMax module or they have fed up to explain the same instructions to each one who ask in the forums.
After a deep research in lots of old posts I figured out how to compile the wxMax with my current modules but I was needed to do lots of changes even uninstalling whole BlitzMax completely to find out how to compile the module because with the current vanilla version things are not working out of the box.

First I will give instruction to people who will not have the BlitzMax installed.
I downloaded the BlitzMax 1.50 from here: https://nitrologic.itch.io/blitzmax

Then you will need to download a special version of MinGw from here: http://www.blide.org/backup/MinGW.rar
The related post for this link was this one: https://www.syntaxbomb.com/index.php/topic,36.0.html
Which explains the version 5.1.3 of MinGw is the most compatible for BlitzMax 1.50 you download the file and just extruct it to your local C: disk
with folder c:\MinGW and nothing else no installation is needed.

But there is one trick the default BlitzMax compiler with name BMK.Exe which exists in the bin folder needs to be replaced. Is not compatible for the new modules and the newer MinGw. So you are downloading the altered BMK from here: http://brucey.net/programming/blitz/misc/bmk/bmk_win32mt_test.zip
The related post for the file was this one: http://mojolabs.nz/posts.php?topic=84925

You are extracting the BMK.Exe and replace the BlitzMax's original one.
Then you download the wxMax module from here: https://code.google.com/archive/p/wxmax/downloads
But the site have a list for many versions. You will need the: wxmax_1_00_win32_bin.rar file.
The direct link is this one: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wxmax/wxmax_1_00_win32_bin.rar
There is also and the version 1.01 but it was compiled with Gcc version 4.x.x and we have the 3.4.5 which is 3.x.x that's why we download this file.
If you extract the rar file you will have one folder with name: wx.mod
You will copy this wx.mod folder inside the mod subfolder of blitzmax.  C:\BlitzMax\Mod
But there is another one trick. If you try to compile the module you will receive 2 errors in to files.
You will need to do lot of researche until figure out what is wrong.

There are some known issues with wxMax module which they are explained here: https://code.google.com/archive/p/wxmax/issues
You will need the issue with ID number 23. The direct link is this: https://code.google.com/archive/p/wxmax/issues/23

It explains there are 2 files with names: wxglmax2d.bmx and wxmax2d.bmx they have some errors and they have fixed them.
The direct links are here:
wxglmax2d.bmx http://storage.googleapis.com/google-code-attachments/wxmax/issue-23/comment-1/wxglmax2d.bmx
wxmax2d.bmx http://storage.googleapis.com/google-code-attachments/wxmax/issue-23/comment-1/wxmax2d.bmx

You download both of these files and copy them inside the:
C:\BlitzMax\Mod\wx.mod\wxglmax2d.mod folder and replace the original

And inside
C:\BlitzMax\Mod\wx.mod\wxmax2d.mod folder and replace the original again.

If you compile the module now it will compile correctly. I have test it with all of my current modules I have.
Yes it just compiled but will it run? This is the big question.

I tried to find some example and inside the wxmod.mod folder there is another one filder with name: samples
Which means there are some examples how to use the module.
If you load some of the samples (Examples) and try to run them then it drops a series of undefined reference errors.

Code: [Select]
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x28): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x26d): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x306): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x50e): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x524): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x554): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x58a): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x5a8): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x5c7): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x7ed): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x886): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0xa95): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0xabf): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0xe48): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x1013): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x123e): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x1254): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x12c5): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text+0x1305): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD1Ev[__ZN18wxButtonXmlHandlerD1Ev]+0x27): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD1Ev[__ZN18wxButtonXmlHandlerD1Ev]+0x3a): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD1Ev[__ZN18wxButtonXmlHandlerD1Ev]+0xad): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD1Ev[__ZN18wxButtonXmlHandlerD1Ev]+0x10a): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD0Ev[__ZN18wxButtonXmlHandlerD0Ev]+0x27): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD0Ev[__ZN18wxButtonXmlHandlerD0Ev]+0x3a): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD0Ev[__ZN18wxButtonXmlHandlerD0Ev]+0xb8): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xh_bttn.o):xh_bttn.cpp:(.text$_ZN18wxButtonXmlHandlerD0Ev[__ZN18wxButtonXmlHandlerD0Ev]+0x11a): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x15): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x34): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xb8): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw28u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xf5): undefined reference to
I haven't pasted all because is very large. So even I have managed to compile the module it stills not working.

What am I missing or what went wrong and drop all of these undefined reference errors even if it was compiled?

Offline Derron

  • Hero Member
  • *****
  • Posts: 2337
Re: I am looking for complete guide how to compile wxMax
« Reply #2 on: July 18, 2019, 10:49:21 PM »
These errors indicate the usage of a "wrong" MinGW-package.
There are two flavors: SJLJ and dwarf2 "stack unwinding".

Seems some of the libs/dll/... is compiled with a "short jump long jump" MinGW package while you now are using a "dwarf2" one.
Either you need to recompile the dlls of wxmax (or whatever module is affected) or use a "SJLJ"-MinGW package to compile your modules.


wxMax was hard to get working - had MinGWs working but it then failed with other modules so I needed to try to use compiled versions of wxMax then in a BlitzMax-installation using a different MinGW which works with the other modules.


----

Meanwhile I went with NG for wxMax as it works "out of the box" (with the NG releases) and even allows 64bit applications (hello Mac, hello some newer Linux distributions!).


bye
Ron

Offline dawlane

  • Full Member
  • ***
  • Posts: 106
Re: I am looking for complete guide how to compile wxMax
« Reply #3 on: July 19, 2019, 10:11:53 AM »
As Derron says, this is a MinGW issue. The modules look as if they were compiled using TDM-MinGW supporting SJLJ exception unwinding.
In general, you should make sure that your system paths point to the correct version of MinGW if you have multiple version installed or rebuild everything where possible using the same compiler.

These errors indicate the usage of a "wrong" MinGW-package.
There are two flavors: SJLJ and dwarf2 "stack unwinding".
You missed off Structured Exception Handling (SEH) and the threading implementation that can be used, posix or winApi.

Using a MinGW compiler can be a real pain. I have found using SJLJ on a 64 bit version of Windows 10 can cause a few problems when dealing with capturing exceptions to pass to your own exception handling routines. The people behind MinGW-w64 even recommend that you avoid using SJLJ exception handling and either use dwarf2 for 32 bit builds or SEH for 64 bit builds.

Offline Derron

  • Hero Member
  • *****
  • Posts: 2337
Re: I am looking for complete guide how to compile wxMax
« Reply #4 on: July 19, 2019, 10:44:48 AM »
Thanks for the more indepth explanation. Was only aware of dwarf2 and sjlj as they were the flavors I came across when compiling with BlitzMax (legacy).



@ takis76
Why not move on to NG? Any serious problems encountered?


bye
Ron

Offline Henri

  • Full Member
  • ***
  • Posts: 207
Re: I am looking for complete guide how to compile wxMax
« Reply #5 on: July 19, 2019, 11:21:46 AM »
It might be good to note that that the wxMax version in code.google is old. Newer version can be found here https://github.com/maxmods.

Blitzmax NG stuff can be found at https://blitzmax.org

-Henri

- Got 01100011 problems, but the bit ain't 00000001

Offline takis76

  • Jr. Member
  • **
  • Posts: 85
Re: I am looking for complete guide how to compile wxMax
« Reply #6 on: July 19, 2019, 02:02:01 PM »
I didn't understand much of things you said.
So If I will install BlitzMax NG and download the new version of wxMax from github do the wxMax will compile and run?
I haven't tried to install the BlitzMax NG and I don't know if my existing modules will work.
It seems I will not able to compile the wxMax for now.

If just download the new version of wxMax from GitHub will not work with the current version of my MinGW.
Which is the correct MinGW version is needed to compile the wxMax?


Offline Henri

  • Full Member
  • ***
  • Posts: 207
Re: I am looking for complete guide how to compile wxMax
« Reply #7 on: July 19, 2019, 06:10:47 PM »
I did find this thread about compiling wx-module. When you download release version of Blitzmax-NG, it already contain Mingw with gcc version 7.3.0:

https://www.syntaxbomb.com/index.php/topic,4825.msg18535.html#msg18535

You might need newer versions of brl & pub -modules found here https://github.com/bmx-ng

-Henri

Ps. If you absolutely want the legacy Blitzmax version environment for more compatible with the older stuff, I might be able to provide you with a download link (just not right now, as I'm off to vacation).
- Got 01100011 problems, but the bit ain't 00000001

Offline takis76

  • Jr. Member
  • **
  • Posts: 85
Re: I am looking for complete guide how to compile wxMax
« Reply #8 on: July 19, 2019, 10:35:31 PM »
I downloaded the version 0.93.3.21 which contains the MinGw 7.30 (The site says 7.20)
From https://github.com/bmx-ng/bmx-ng/releases/tag/v0.93.3.21.win32.x64

It contains the modules, BRL,MAXGUI,MOJO2,PUB,SDL.

When I compile the modules for the first time (Not yet the wxMax the default one), After some retries and progressing fixing errors then
interrupts the compile with these errors:

The Mojo Module show this Error
Code: [Select]
►mky.mojo2 was scheduled to next iteration
Compile Error: Unable to find overload for pokeshort(Int,Int). Argument #1 is "Int" but declaration is "size_t".
[C:/BlitzMax64/mod/mky.mod/mojo2.mod/graphics.bmx;154;0]
Build Error: failed to compile (-1) C:/BlitzMax64/mod/mky.mod/mojo2.mod/graphics.bmx

The Pub Module shows this error:
Code: [Select]
►pub.lua was scheduled to next iteration
gcc.exe: error: CreateProcess: No such file or directory
Build Error: failed to compile (1) C:/BlitzMax64/mod/pub.mod/lua.mod/lua-5.1.4/src/lfunc.c

And I downloaded and the version 0.98.3.27 which contains the MinGw 8.10 rev0.
All defaut modules (BRL,MAXGUI,MOJO2,PUB,SDL), compiled with no errors. So it seems the 8.10 is better.

I tried to compile and the modules:
Gman(Zip Engine)
Koriolis(Zip Stream)
Srs(DirectX11)
And one Shader Framework.

The ifsogui module present lots of errors I will ask instructions and for this too. (I will send you detailed information about which files wasn't compiled).

All of these compiled.
Then I am trying the wxMax module. After a very long time and lots of errors and retries some were fixed and it ended up to finish with
only 1 error.

In the file sub module wxmax2d.
[C:/BlitzMax64 - 8.10/mod/wx.mod/wxmax2d.mod/wxmax2d.bmx;522;0]
Build Error: failed to compile (-1) C:/BlitzMax64 - 8.10/mod/wx.mod/wxmax2d.mod/wxmax2d.bmx

What fix do I need to do in line 522 at least manually or if this already fixed and there is a file to be replaced.
When all will be fixed I will try to run the examples.
Then if all will be ok I will try to fix and the ifsoGui.


Offline dawlane

  • Full Member
  • ***
  • Posts: 106
Re: I am looking for complete guide how to compile wxMax
« Reply #9 on: July 20, 2019, 03:04:44 AM »
Quote
Then I am trying the wxMax module. After a very long time and lots of errors and retries some were fixed and it ended up to finish with
only 1 error.

In the file sub module wxmax2d.
[C:/BlitzMax64 - 8.10/mod/wx.mod/wxmax2d.mod/wxmax2d.bmx;522;0]
Build Error: failed to compile (-1) C:/BlitzMax64 - 8.10/mod/wx.mod/wxmax2d.mod/wxmax2d.bmx
You will find that there is more than one error. That particular error will be down to trying to override the method Position that doesn't exist in the parent class.
I would suggest opening an issue on the wx.mod over at it's github page.

I gave up using BlitzMax because:
The original was never properly maintained for Linux, which at the time BlitzMax was a paid for product claiming to support the three main desktops.
BlitzMax NG tends to be a hit and miss affair. Any changes has a habit of breaking something.

You could try the original BlitzMax by installing TDM-GCC.

Offline Derron

  • Hero Member
  • *****
  • Posts: 2337
Re: I am looking for complete guide how to compile wxMax
« Reply #10 on: July 20, 2019, 08:20:32 AM »
> I downloaded the version 0.93.3.21 which contains the MinGw 7.30 (The site says 7.20)

> And I downloaded and the version 0.98.3.27 which contains the MinGw 8.10 rev0.


Why not use the most current one? BlitzMax_win32_0.105.3.35.7z ?

https://blitzmax.org/downloads/


I am using wxmax.mod without trouble on Windows 7 and on my linux box I am using wxmax too. Some new stuff (setting an icon of a wxapp from an "incbin::" source) might require manually updated wx.mod and bcc/bmk - or wait for a new "complete release".



@ dawlane
I think flowers in Monkey2 world were not smelling better. Your knowledge regarding GCC/BlitzMax and C interaction was always very valuable - not to speak about your "dependency"-shell-install-script.
I wrote somewhere already about issues these toolkits have with linux, android, ... which is why the "runtime" languages (like Godot) work better: they create a working runtime for a distribution and the "game/apps" then just provide the assets + scripts. Languages like BlitzMax who try to compile for a platform on the dev host will always have problems here and there.


bye
Ron

Offline takis76

  • Jr. Member
  • **
  • Posts: 85
Re: I am looking for complete guide how to compile wxMax
« Reply #11 on: July 20, 2019, 09:29:59 AM »
Quote
You will find that there is more than one error. That particular error will be down to trying to override the method Position that doesn't exist in the parent class.
I would suggest opening an issue on the wx.mod over at it's github page.

I gave up using BlitzMax because:
The original was never properly maintained for Linux, which at the time BlitzMax was a paid for product claiming to support the three main desktops.
BlitzMax NG tends to be a hit and miss affair. Any changes has a habit of breaking something.

You could try the original BlitzMax by installing TDM-GCC.

When saying installing the original you mean the BlitzMax 1.50 not the NG? (I think the original will not compile the wxMax mod)
And the Gcc version is 5.1.0 not 7.3.0 or 8.1.0.

Why don't people create separated versions including all correct working modules for each specific version of BlitzMax and Gcc. For example the BlitzMAx 1.50 will use this Latest Gcc compatible with the current version and all modules will be compatible with the BlitzMax 1.50 only and put them in separated archive. Not having millions of different Gccs and guessing which among of them work. Then we will have separated archives for each version of BlitzMax eather is NG or 1.52 with each specific working version of Gcc or MinGw or TDM which works and compiles correctly with all of its modules which they compile correctly too.

If a new version of BlitzMax will be released then many working modules will break. So using a separated archive to make experiments will not affect the rest working ones. The working ones will be untouched and if someone needs to download a different version or fork the current one will create a new archive and leave the previously one which worked untouched.

(Not mixing up many different versions of BlitzMax and Gcc in generic archives and not knowing which among is the one will work).
Is better each archive to contain everything it will be needed including the BlitzMax, the specific MinGw and all modules inside.

OK!! I will try to install the Original AGAIN. (BlitzMax 1.50).
Here I have separated archives with each version of BlitzMax working. For example the Vanilla have all Vanilla modules and the specific Gcc which works without compile errors.


Offline Henri

  • Full Member
  • ***
  • Posts: 207
Re: I am looking for complete guide how to compile wxMax
« Reply #12 on: July 20, 2019, 10:02:17 AM »
Did you update the pub & brl modules before trying to compile wx-mod ?

I think it would be best to get everything working on a standard release, as this would reveal potential problems with other modules that can be fixed, and would help to get a more unified base, instead of trying different Mingw-distributions.

-Henri

Ps. Your release download link had a 'Tag' in it, meaning it was an older branch in the github.

Pps. As Brucey is using Linux, I would believe it gets attention and is not neglected.
- Got 01100011 problems, but the bit ain't 00000001

Offline takis76

  • Jr. Member
  • **
  • Posts: 85
Re: I am looking for complete guide how to compile wxMax
« Reply #13 on: July 20, 2019, 10:09:17 AM »
I downloaded the version 1.52 and I compiled it from the source.
Then do I need to download all pub & brl modules? (Don't the 1.52 vesion have these modules updated)?
I downloaded the version 1.52 from here: https://github.com/blitz-research/blitzmax

For example do I need to download the Pub & Brl modules from here?: https://github.com/maxmods
And overwrite the compiled existing one?


Offline dawlane

  • Full Member
  • ***
  • Posts: 106
Re: I am looking for complete guide how to compile wxMax
« Reply #14 on: July 20, 2019, 10:22:44 AM »
@takis76
If you have trouble with any MinGW and BMX1.50, remove all traces of MinGW from your system. This includes any paths that have been added to your Windows PATH environment variable.

Then try one of the i686-sjlj versions of MinGW-w64 from here.
Note that these versions will require the distribution of winpthread-1.dll, libstdc++-6.dll and libgcc_sjlj-1.dll if the GCC link option -static hasn't been passed to the compiler. You can circumvent this by adding the option -static to the g++ command line found in the LinkApp function in the file bmk_util, then recompiling BMK.

@ dawlane
I think flowers in Monkey2 world were not smelling better. Your knowledge regarding GCC/BlitzMax and C interaction was always very valuable - not to speak about your "dependency"-shell-install-script.
I wrote somewhere already about issues these toolkits have with linux, android, ... which is why the "runtime" languages (like Godot) work better: they create a working runtime for a distribution and the "game/apps" then just provide the assets + scripts. Languages like BlitzMax who try to compile for a platform on the dev host will always have problems here and there.
I gave up on Monkey2 not long after the demise of the BRL website. There was some nice additions to it, but one or two things to me were just pointless syntax candy. And I also got the impression that Mark didn't know which direction to take it. The whole thing was more Alpha stage software and not really suitable for anyone to use for production.

Languages like BlitzMax will always have problems, especially if they are an individual or a small team. It would be very hard or virtually impossible to keep up with bug fixing and maintaining the code to work with all of the targeted back-end compilers and any addition third-party libraries required.

@Henri
I believe he's using a Mac. I've just tested the github repositories with Linux and it doesn't build without a lot of messing around.