Some module build errors

BlitzMax Forums/Brucey's Modules/Some module build errors

BlitzSupport(Posted 2016) [#1]
I know that the intent is that modules are built on the fly under normal NG usage, but I was curious to see if I could build all modules anyway. Thought I'd post in the hope that it might be of use to Brucey and co.

Using Frisky from bmx-ng.com on Win7 64-bit to download current bmk/bcc/maxide/pub/brl, I tried Build Modules from the NG IDE, but it fails on a few things, and these are the changes (mainly commenting out) I had to make in order to complete the build.

lua.mod/lua.bmx -- it doesn't like $z parameters! I simply commented all of those out (had to comment out lines that used these functions, too, including some in maxlua.mod/maxlua.bmx).

It also didn't like:

Function lua_sethook:Int (lua_state:Byte Ptr, f(ls:Byte Ptr,ar:lua_Debug Ptr), mask:Int, count:Int)


Don't think I was even aware this was a thing!

There are a bunch of Ptr Ptrs in win32.mod/com.bmx that it doesn't like:

Method lfget_Application(ppDisp:IDispatch Ptr Ptr)


Again, I just commented this out.

This errors in directx.mod/dd.bmx:

Method CreateSurface(surfacedesc:Byte Ptr,surf:IDirectDrawSurface Ptr,outer:Byte Ptr)


(Is that even possible?! Anyway, it builds if I change to Byte Ptr -- plus a few similar IWhatever Ptr parameters in that file.)

EDIT: Hmm, does then crash with D3D9 driver, perhaps unsurprisingly!

Lastly, there's a reference in maxgui.mod/win32maxguiex.mod/win32maxguiex.bmx to lfget_document that I had to comment out. (EDIT: Just realised that's not a Brucey problem!)

It all builds other than that!


BlitzSupport(Posted 2016) [#2]
Weirdly, starting with a fresh copy, without rebuilding modules, if I try to build a program it seems to try and build all anyway -- at least, it's failing on lua.mod even though I'm not using it. (Unless some other module depends on it?)




RustyKristi(Posted 2016) [#3]
No problem here.. have you tried building it separately?

[ 58%] Compiling:lapi.c
[ 60%] Compiling:lauxlib.c
[ 61%] Compiling:lbaselib.c
[ 62%] Compiling:lcode.c
[ 63%] Compiling:ldblib.c
[ 64%] Compiling:ldebug.c
[ 65%] Compiling:ldo.c
[ 67%] Compiling:ldump.c
[ 68%] Compiling:lfunc.c
[ 69%] Compiling:lgc.c
[ 70%] Compiling:linit.c
[ 71%] Compiling:liolib.c
[ 72%] Compiling:llex.c
[ 74%] Compiling:lmathlib.c
[ 75%] Compiling:lmem.c
[ 76%] Compiling:loadlib.c
[ 77%] Compiling:lobject.c
[ 78%] Compiling:lopcodes.c
[ 79%] Compiling:loslib.c
[ 81%] Compiling:lparser.c
[ 82%] Compiling:lstate.c
[ 83%] Compiling:lstring.c
[ 84%] Compiling:lstrlib.c
[ 85%] Compiling:ltable.c
[ 87%] Compiling:ltablib.c
[ 88%] Compiling:ltm.c
[ 89%] Compiling:lundump.c
[ 90%] Compiling:lvm.c
[ 91%] Compiling:lzio.c
[ 92%] Compiling:print.c
[ 97%] Processing:lua.bmx
[ 98%] Compiling:lua.bmx.release.win32.x86.c
[100%] Archiving:lua.release.win32.x86.a



GW(Posted 2016) [#4]
Are you using a different gcc? By default NG should look into its own 'Mingw32' dir. I've never had a problem with the lua mod no building.
Try building it manually with:
"bmk makemods -v -w -g x86 pub.lua"

Edit: I think bcc is currently getting worked on.


dawlane(Posted 2016) [#5]
Compile Error: Invalid Pointer type.
[I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/pub.mod/lua.mod/lua.bmx;268;0]
I'm seeing this error too with Linux.


Derron(Posted 2016) [#6]
Did you try the latest BCC (Brucey committed some changes) ?

latest commit:
Improved object ptr check. Fixes bmx-ng/brl.mod#33.


./bcc -v
bcc[ng] Release Version 0.79


$ ./bmk makemods -r -a pub.lua
[ 58%] Compiling:lapi.c
[ 60%] Compiling:lauxlib.c
[ 61%] Compiling:lbaselib.c
[ 62%] Compiling:lcode.c
[ 63%] Compiling:ldblib.c
[ 64%] Compiling:ldebug.c
[ 65%] Compiling:ldo.c
[ 67%] Compiling:ldump.c
[ 68%] Compiling:lfunc.c
[ 69%] Compiling:lgc.c
[ 70%] Compiling:linit.c
[ 71%] Compiling:liolib.c
[ 72%] Compiling:llex.c
[ 74%] Compiling:lmathlib.c
[ 75%] Compiling:lmem.c
[ 76%] Compiling:loadlib.c
[ 77%] Compiling:lobject.c
[ 78%] Compiling:lopcodes.c
[ 79%] Compiling:loslib.c
[ 81%] Compiling:lparser.c
[ 82%] Compiling:lstate.c
[ 83%] Compiling:lstring.c
[ 84%] Compiling:lstrlib.c
[ 85%] Compiling:ltable.c
[ 87%] Compiling:ltablib.c
[ 88%] Compiling:ltm.c
[ 89%] Compiling:lundump.c
[ 90%] Compiling:lvm.c
[ 91%] Compiling:lzio.c
[ 92%] Compiling:print.c
[ 97%] Processing:lua.bmx
[ 98%] Compiling:lua.bmx.release.linux.x86.c
[100%] Archiving:lua.release.linux.x86.a
ar: creating /BlitzMaxNG/mod/pub.mod/lua.mod/lua.release.linux.x86.a


bye
Ron


dawlane(Posted 2016) [#7]
Looks like the latest has fixed the issue.


BlitzSupport(Posted 2016) [#8]
I believe it should all be the latest (just confirmed that bcc is indeed 0.79), as Frisky from bmx-ng.com git-downloads it all -- it also comes with a copy of MinGW (64-bit version, but in a folder called MinGW32 for some reason).

@GW -- no joy from the command-line, either:

I:\SpiderOak\DevTools\Blitz\BlitzMaxNG_077\bin>bmk makemods -v -w -g x86 pub.lua

[ 97%] Processing:lua.bmx
"I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/bin/bcc.exe"  -g x86 -m pub.lua -v -
s -w -p win32 -o "I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/pub.mod/lua.mod
/.bmx/lua.bmx.debug.win32.s" "I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/pub
.mod/lua.mod/lua.bmx"
Parsing...
Compile Error: Invalid Pointer type.
[I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/pub.mod/lua.mod/lua.bmx;268;0]
Build Error: failed to compile I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/pu
b.mod/lua.mod/lua.bmx
I:\SpiderOak\DevTools\Blitz\BlitzMaxNG_077\bin>



Derron(Posted 2016) [#9]
It is called "MinGW32" regardless of whether you use the 64bit build or not.


I just compiled bcc.exe from the most current revision available at git. I then recompiled pub.lua ... and it worked (but I got some segfaults / problems with "brl.classes"). Think latest commits borked the whole thing a bit.


try to add "-a" to your commandline to enforce a recompile. Recompilation of modules is needed if BCC[.exe] changes. Else BCC does not see the need to recompile modules (they did not change their code).


bye
Ron


BlitzSupport(Posted 2016) [#10]
Hmm, just tried with -a added to the above, but still does the same. I'll try manually compiling new bcc and see what happens, though as far as I can tell it's the latest.


BlitzSupport(Posted 2016) [#11]
OK, just updated to the 3-hours old bcc, and that builds lua now, but it then dies on win32.mod/com.bmx, so I guess Brucey's on it! (Thanks, Brucey!)

Out of interest, think I'll go re-Frisky and see if that builds lua, just to see how current a setup it builds. Man, the things I get up to on a Saturday night!


Derron(Posted 2016) [#12]
Better than watching soccer EM (England surely enjoyed his draw game ;-)).

Already opened up an issue regarding the compilation issue. Think the latest changes regarding pointer-issues created unwanted complications.

BTW: if you go back some revisions, you should get a working BCC - especially the ones from until end of may.


bye
Ron


BlitzSupport(Posted 2016) [#13]
Derron, *anything* is better than watching soccer. I literally only know who's playing/played because I saw they'd rioted again in France... [EDIT: Turns out I got that wrong, too -- they were playing Russia, where I assumed France!]

I just re-built bmx-ng distro in Frisky and it was able to build lua.mod this time (which shows it's getting the latest versions), though again it fails on win32.mod. Definite progress, though!