NG: blitz.mod compile error

BlitzMax Forums/Brucey's Modules/NG: blitz.mod compile error

xlsior(Posted February) [#1]
Error recompiling modules on NG, TDM GCC 5.1.0, Windows:

Fails at brl.mod/blitz.mod:

[ 44%] Processing:blitz.bmx
[ 44%] Compiling:blitz.bmx.release.win32.x86.c
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:13:19: error: conflicting types for 'bbOnDebugStop'
 void( __stdcall * bbOnDebugStop)();
                   ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:33:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_debug.h:64:15: note: previous declaration of 'bbOnDebugStop' was here
 extern void (*bbOnDebugStop)();
               ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:14:19: error: conflicting types for 'bbOnDebugLog'
 void( __stdcall * bbOnDebugLog)(BBSTRING);
                   ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:33:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_debug.h:65:15: note: previous declaration of 'bbOnDebugLog' was here
 extern void (*bbOnDebugLog)( BBString *msg );
               ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:178:24: error: conflicting types for 'bbOnEnd'
 extern void __stdcall  bbOnEnd(void(* bbt_fun)());
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:40:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_app.h:26:7: note: previous declaration of 'bbOnEnd' was here
 void  bbOnEnd( void(*f)() );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:179:28: error: conflicting types for 'bbReadStdin'
 extern BBSTRING __stdcall  bbReadStdin();
                            ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:40:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_app.h:28:11: note: previous declaration of 'bbReadStdin' was here
 BBString* bbReadStdin();
           ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:180:24: error: conflicting types for 'bbWriteStdout'
 extern void __stdcall  bbWriteStdout(BBSTRING bbt_str);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:40:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_app.h:29:7: note: previous declaration of 'bbWriteStdout' was here
 void  bbWriteStdout( BBString *t );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:181:24: error: conflicting types for 'bbWriteStderr'
 extern void __stdcall  bbWriteStderr(BBSTRING bbt_str);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:40:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_app.h:30:7: note: previous declaration of 'bbWriteStderr' was here
 void  bbWriteStderr( BBString *t );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:182:24: error: conflicting types for 'bbDelay'
 extern void __stdcall  bbDelay(BBINT bbt_millis);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:40:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_app.h:32:7: note: previous declaration of 'bbDelay' was here
 void  bbDelay( int ms );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:183:25: error: conflicting types for 'bbMilliSecs'
 extern BBINT __stdcall  bbMilliSecs();
                         ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:40:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_app.h:33:6: note: previous declaration of 'bbMilliSecs' was here
 int  bbMilliSecs();
      ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:184:25: error: conflicting types for 'bbMemAlloc'
 extern void* __stdcall  bbMemAlloc(size_t bbt_size);
                         ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:26:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_memory.h:11:7: note: previous declaration of 'bbMemAlloc' was here
 void* bbMemAlloc( size_t );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:185:24: error: conflicting types for 'bbMemFree'
 extern void __stdcall  bbMemFree(void* bbt_mem);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:26:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_memory.h:12:7: note: previous declaration of 'bbMemFree' was here
 void  bbMemFree( void *mem );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:186:25: error: conflicting types for 'bbMemExtend'
 extern void* __stdcall  bbMemExtend(void* bbt_mem,size_t bbt_size,size_t bbt_new_size);
                         ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:26:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_memory.h:13:7: note: previous declaration of 'bbMemExtend' was here
 void* bbMemExtend( void *mem,size_t size,size_t new_size );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:187:24: error: conflicting types for 'bbMemClear'
 extern void __stdcall  bbMemClear(void* bbt_mem,size_t bbt_size);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:26:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_memory.h:15:7: note: previous declaration of 'bbMemClear' was here
 void  bbMemClear( void *dst,size_t size );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:188:24: error: conflicting types for 'bbMemCopy'
 extern void __stdcall  bbMemCopy(void* bbt_dst,const void* bbt_src,size_t bbt_size);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:26:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_memory.h:16:7: note: previous declaration of 'bbMemCopy' was here
 void  bbMemCopy( void *dst,const void *src,size_t size );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:189:24: error: conflicting types for 'bbMemMove'
 extern void __stdcall  bbMemMove(void* bbt_dst,const void* bbt_src,size_t bbt_size);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:26:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_memory.h:17:7: note: previous declaration of 'bbMemMove' was here
 void  bbMemMove( void *dst,const void *src,size_t size );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:190:24: error: conflicting types for 'bbGCSetMode'
 extern void __stdcall  bbGCSetMode(BBINT bbt_Mode);
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:30:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_gc.h:49:7: note: previous declaration of 'bbGCSetMode' was here
 void  bbGCSetMode( int mode );
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:191:24: error: conflicting types for 'bbGCSuspend'
 extern void __stdcall  bbGCSuspend();
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:30:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_gc.h:57:7: note: previous declaration of 'bbGCSuspend' was here
 void  bbGCSuspend();
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:192:24: error: conflicting types for 'bbGCResume'
 extern void __stdcall  bbGCResume();
                        ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:30:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_gc.h:58:7: note: previous declaration of 'bbGCResume' was here
 void  bbGCResume();
       ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:193:25: error: conflicting types for 'bbGCCollect'
 extern BBINT __stdcall  bbGCCollect();
                         ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:30:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_gc.h:55:6: note: previous declaration of 'bbGCCollect' was here
 int  bbGCCollect();
      ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:195:25: error: conflicting types for 'bbGCMemAlloced'
 extern BBINT __stdcall  bbGCMemAlloced();
                         ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:30:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_gc.h:54:6: note: previous declaration of 'bbGCMemAlloced' was here
 int  bbGCMemAlloced();
      ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:198:27: error: conflicting types for 'bbHandleFromObject'
 extern BBSIZET __stdcall  bbHandleFromObject(BBOBJECT bbt_obj);
                           ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:39:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_handle.h:11:9: note: previous declaration of 'bbHandleFromObject' was here
 size_t  bbHandleFromObject( BBObject *o );
         ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:0:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:199:28: error: conflicting types for 'bbHandleToObject'
 extern BBOBJECT __stdcall  bbHandleToObject(BBSIZET bbt_handle);
                            ^
In file included from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz.h:39:0,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.h:4,
                 from c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c:1:
c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/blitz_handle.h:12:13: note: previous declaration of 'bbHandleToObject' was here
 BBObject*   bbHandleToObject( size_t handle );
             ^
Build Error: failed to compile (1) c:/code/blitzmaxNG510/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x86.c[  0%] Compiling:bmxsupport.c



Derron(Posted February) [#2]
It is an BCC issue.

For now use this BCC-source-revision:
https://github.com/bmx-ng/bcc/commit/b03396e0eb71a074fcf05a442d5c79f1b49181d9

Compile it (with vanilla) and replace "bin/bcc[.exe]" with the new one.

After this commit things for function pointers, arguments, ... were changed - so they make module compilation stop.


If you do not dare - this one is newer:
https://github.com/bmx-ng/bcc/tree/8f5516a9c15121bc8ae945640075e3228c3d3468
But at least "vulkan.mod" does not compile with it (maybe this is what the most current commit tries to fix - but creates the trouble with blitz.mod.


Edit: Did not look closely enough. The errors I am getting are not the same (yours are probably based on a non-clean "complete rebuild" - or outdated brl.mod/pub.mod)

I get:



bye
Ron


FireballStarfish(Posted February) [#3]
It looks like it might have something to do with this commit?
If that is the case, reverting to this version of bcc should be sufficient. In any case try a complete rebuild of your modules (if you're getting an error in BRL.Reflection, refer to here), and see if that helps.


Derron(Posted February) [#4]
Yes and Brucey already fixed that (was an typo with "DECL_API_STDCALL") - talking of the results I got, not the one of the OP.


bye
Ron


xlsior(Posted February) [#5]
How can I download a specific version of the package from the github branch?

downloaded the latest version this morning and tweaked line 1925 of reflection.bmx as suggested by FireballStarfish allowed me to recompile brl.mod and pub.mod without errors, but still can't recompile other mods like bah.freeimage.