I ran server with ARM based Tonido Plug two years ago. It was hilarious since the compiler had different default types compared to desktop GCC. Everyone's favourite move was shell smash which made you have instantly +2 attacks and speed and +6 defences due to having unsigned integers. So be warned; it's not that different from PC and 512MB RAM raspi could definitely compile PO althought it would use more time. But there may be some differences if there have variables change their (un)signedness. PO could definitely use a commit which would fix those :x
Humm, seems that isn't my only issue. Code (text): pi@raspberrypi's password: Linux raspberrypi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Jun 15 03:10:19 2013 pi@raspberrypi ~ $ cd pokemon-online/ pi@raspberrypi ~/pokemon-online $ qmake "CONFIG += po_server po_client" Project MESSAGE: Following modules will be build: src/Utilities src/PokemonInfo src/BattleManager src/Teambuilder src/Server src/QJson src/QtWebsocket src/RelayStation pi@raspberrypi ~/pokemon-online $ make cd src/Utilities/ && make -f Makefile make[1]: Entering directory `/home/pi/pokemon-online/src/Utilities' g++ -c -pipe -std=c++0x -O2 -Wall -W -D_REENTRANT -fPIC -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -o ../../build/release/Utilities/contextswitch.o contextswitch.cpp In file included from contextswitch.h:5:0, from contextswitch.cpp:1: coro.h:227:1: error: ‘error’ does not name a type In file included from contextswitch.cpp:1:0: contextswitch.h:127:18: error: field ‘main_context’ has incomplete type In file included from contextswitch.cpp:1:0: contextswitch.h:186:18: error: field ‘context’ has incomplete type contextswitch.cpp: In destructor ‘virtual ContextSwitcher::~ContextSwitcher()’: contextswitch.cpp:19:26: error: ‘main_context’ was not declared in this scope contextswitch.cpp:19:38: error: ‘coro_destroy’ was not declared in this scope contextswitch.cpp: In member function ‘virtual void ContextSwitcher::run()’: contextswitch.cpp:40:21: error: ‘main_context’ was not declared in this scope contextswitch.cpp:94:38: error: ‘class ContextCallee’ has no member named ‘context’ contextswitch.cpp: In member function ‘void ContextSwitcher::switch_context(ContextCallee*)’: contextswitch.cpp:121:20: error: ‘main_context’ was not declared in this scope contextswitch.cpp:121:52: error: ‘class ContextCallee’ has no member named ‘context’ contextswitch.cpp:121:59: error: ‘coro_transfer’ was not declared in this scope contextswitch.cpp: In member function ‘void ContextSwitcher::yield()’: contextswitch.cpp:182:25: error: ‘class ContextCallee’ has no member named ‘context’ contextswitch.cpp:182:35: error: ‘main_context’ was not declared in this scope contextswitch.cpp:182:47: error: ‘coro_transfer’ was not declared in this scope contextswitch.cpp: In destructor ‘virtual ContextCallee::~ContextCallee()’: contextswitch.cpp:212:26: error: ‘context’ was not declared in this scope contextswitch.cpp:212:33: error: ‘coro_destroy’ was not declared in this scope make[1]: *** [../../build/release/Utilities/contextswitch.o] Error 1 make[1]: Leaving directory `/home/pi/pokemon-online/src/Utilities' make: *** [sub-src-Utilities-make_default-ordered] Error 2 Bleh.
Error above was from this: Code (text): #if !defined(CORO_LOSER) && !defined(CORO_UCONTEXT) \ && !defined(CORO_SJLJ) && !defined(CORO_LINUX) \ && !defined(CORO_IRIX) && !defined(CORO_ASM) \ && !defined(CORO_PTHREAD) # if defined(WINDOWS) || defined(__WIN32) # define CORO_LOSER 1 /* you don't win with windoze */ # elif (defined(__linux) || defined(linux)) && (defined(__x86) || defined (__amd64) || defined(i386) || defined(__i386)) # define CORO_ASM 1 # elif defined(HAVE_UCONTEXT_H) # define CORO_UCONTEXT 1 # elif defined(HAVE_SETJMP_H) && defined(HAVE_SIGALTSTACK) # define CORO_SJLJ 1 # elif defined(__MACH__) # define CORO_PTHREAD 1 # else error unknown or unsupported architecture # endif #endif ._. Can we drop dependencies on the coro file? >error unknown or unsupported architecture
No, unfortunately coro is digged pretty deeply on Server. Fixing that should be easy. You should edit the file and add defines for your architechture. That is expected because server isn't tested well enough on ARM. IIRC I went with pthreads but not sure.