Raknet problem

BlitzMax Forums/Brucey's Modules/Raknet problem

xlsior(Posted 2016) [#1]
Hi Brucey,

I've been trying to recompile my modules, and am running into a snag:

It appears that the raknet modules won't compile under Windows with stock Blitzmax / MinGW 4.7.1, nor with NG / 5.1.0 -- are you able to compile these yourself?

If so, what Blitzmax + MinGW version do you currently use?

(There's a few others I can't compile for Windows with 4.7.1 either -- ceguii.mod, uuid.mod, raptor.mod)


Derron(Posted 2016) [#2]
I am not able to access the specific information...but Brucey moved on to use a more current MinGW-version. This means he is most probably checking his modules with the new one.

Maybe you could try compiling raknet with a newer MinGW (just replace the MinGW32 in your BlitzMaxNG directory)?


Bye
Ron


RustyKristi(Posted 2016) [#3]
I am quite interested in trying raknet on blitzmax as well. btw, is this the one maintained by repeatuntil or is there are newer version?

http://repeatuntil.online.fr/raknet/index.html


xlsior(Posted 2016) [#4]
Just tried to recompile everything with stock + TDM MinGW 5.1.0-3 32 bit --
Almost all modules compile, with a couple of exceptions:

Raknet: (Doesn't compile with the 5.1.0 & NG either)
Compiling:NatTypeDetectionCommon.cpp
Compiling:NatTypeDetectionServer.cpp
Compiling:NetworkIDManager.cpp
Compiling:NetworkIDObject.cpp
Compiling:PacketIn file included from c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/NetworkIDManager.h:11:0,
                 from c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/NetworkIDObject.cpp:9:
c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h: In instantiation of 'void DataStructures::AVLBalancedBinarySearchTree<BinarySearchTreeType>::BalanceTree(typename DataStructures::BinarySearchTree<BinarySearchTreeType>::node*, bool) [with BinarySearchTreeType = NetworkIDNode; typename DataStructures::BinarySearchTree<BinarySearchTreeType>::node = DataStructures::BinarySearchTree<NetworkIDNode>::node]':
c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:219:14:   required from 'void DataStructures::AVLBalancedBinarySearchTree<BinarySearchTreeType>::Del(const BinarySearchTreeType&) [with BinarySearchTreeType = NetworkIDNode]'
c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/NetworkIDObject.cpp:43:72:   required from here
c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:169:25: error: 'Height' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     left_height = Height( current->left );
                         ^
c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:169:25: note: declarations in dependent base 'DataStructures::BinarySearchTree<NetworkIDNode>' are not found by unqualified lookup
Cc:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:169:25: note: use 'this->Height' instead
oc:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:174:26: error: 'Height' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     right_height = Height( current->right );
                          ^
nc:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:174:26: note: declarations in dependent base 'DataStructures::BinarySearchTree<NetworkIDNode>' are not found by unqualified lookup
sc:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:174:26: note: use 'this->Height' instead
oc:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:202:24: error: 'FindParent' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
    current = FindParent( *( current->item ) );
                        ^
lc:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:202:24: note: declarations in dependent base 'DataStructures::BinarySearchTree<NetworkIDNode>' are not found by unqualified lookup
ec:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/DS_BinarySearchTree.h:202:24: note: use 'this->FindParent' instead
Logger.cpp
Build Error: failed to compile (1) c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/NetworkIDObject.cpp


Build Error: failed to compile (1) c:/Code/BlitzMax/mod/bah.mod/raknet.mod/src/NetworkIDObject.cpp



Freeimage:
Compiling:dsp.rescaler.c
Compiling:dsp.rescaler_mips32.c
Compiling:dsp.rescaler_mips_dsp_r2.c
Compiling:dsp.upsampling.c
Compiling:dsp.upsampling_mips_dsp_r2.c
c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c:37:34: error: invalid character ' ' in raw string delimiter
       "shll_s.w         %["#R"],      %["#R"],        9              \n\t"     \
                                  ^
c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c:37:48: error: invalid character ' ' in raw string delimiter
       "shll_s.w         %["#R"],      %["#R"],        9              \n\t"     \
                                                ^
c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c:40:34: error: invalid character ' ' in raw string delimiter
       "precrqu_s.qb.ph  %["#R"],      %["#R"],        $zero          \n\t"     \
                                  ^
c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c:40:48: error: invalid character ' ' in raw string delimiter
       "precrqu_s.qb.ph  %["#R"],      %["#R"],        $zero          \n\t"     \
                                                ^
c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c:43:34: error: invalid character ' ' in raw string delimiter
       "srl              %["#R"],      %["#R"],        24             \n\t"     \
                                  ^
c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c:43:48: error: invalid character ' ' in raw string delimiter
       "srl              %["#R"],      %["#R"],        24             \n\t"     \
                                                ^
Compiling:dsp.upsampling_neon.c
Build Error: failed to compile (1) c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_Compiling:dsp.upsampling_sse2.c
dsp_r2.c

Build Error: failed to compile (1) c:/Code/BlitzMax/mod/bah.mod/freeimage.mod/src/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.cCompilin


CEGui:


LibSSH2:


WX:


and LibCurlSSL: (libssh2 dependency)


Bobysait(Posted 2016) [#5]
For Raknet, just edit src/DS_BinarySearchTree.h and add "this->" before Height and FindParent methods


(if the codebox accept c sources, here is the modified header I managed to compile)




RustyKristi(Posted 2016) [#6]
Works great bobbysait, still have one error where BMXNG still does not support Bool functions, particularly this function

bool bmx_RakPeer_RPC

Have to change this function to Int and related headers to work, otherwise it throws "Unable to convert Bool to Int".


xlsior(Posted 2016) [#7]
Thanks for the suggestion, but still throws errors on compilation for me:
[code]
[ 98%] Processing:raknet.bmx
Compile Error: Unable to convert from Void to Int.
[c:/code/blitzmaxNG510/mod/bah.mod/raknet.mod/raknet.bmx;717;0]
Build Error: failed to compile (-1) c:/code/blitzmaxNG510/mod/bah.mod/raknet.mod/raknet.bmx
[code]


RustyKristi(Posted 2016) [#8]
@xlsior

You have to change all reference to bool bmx_RakPeer_RPC to int bmx_RakPeer_RPC including the c source and header file.. So far I got all examples to run except those with CEGUI as helper as I have not yet tried CEGUI on NG.

Building PerformanceAnalysis
Executing:PerformanceAnalysis.exe
NOTE : Current implementations run out of memory before speed.

Testing UNRELIABLE with 100 byte messages.
Messages per second: 
2000 4000 6004 8002 10002 12000 14002 16000 18000 20016 22020 24006 26028 28000 30024 32006 34014 36002 38030 
Process terminated