Compiling on ARM| Unrecognized Command
Compiling on ARM| Unrecognized Command
Hey everyone, my first post since the beggining of skulltag and also zandronum, since I've been looking around as a guest ever since, until today.
My problem is not because of FMOD, OGL, X11, I have all those installed and in working condition, I have all the preresquites but at 19% it gives me an unrecognized error, see the following link http://pastebin.com/9RYyY3GK for more detailed information. Reason why it's shorter is because I failed and closed the terminal and tried again with no success.
My problem is not because of FMOD, OGL, X11, I have all those installed and in working condition, I have all the preresquites but at 19% it gives me an unrecognized error, see the following link http://pastebin.com/9RYyY3GK for more detailed information. Reason why it's shorter is because I failed and closed the terminal and tried again with no success.
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Compiling on ARM| Unrecognized Command
Looks like SSE is not supported on your platform, so you need to adjust dumb/CMakeLists.txt and possibly dumb/src/it/filter.cpp. I'm pretty sure that Zandronum's ZDoom base is not ARM compatible (and I don't know if even the latest ZDoom version is ARM compatible), so expect to change numerous things if you want to compile it on ARM.
RE: Compiling on ARM| Unrecognized Command
I thank you for your detailed response, I will take a look at it and do my best!
RE: Compiling on ARM| Unrecognized Command
I've gotten by the architechture problems but now the FPU Extended and Double is giving me problems, as such in this pastebin, http://mibpaste.com/w0yUmJ
I can also see you noted in D_Main.cpp that the math variance might get cropped, gcc.
// Set the FPU precision to 53 significant bits. This is the default
// for Visual C++, but not for GCC, so some slight math variances
// might crop up if we leave it alone.
#if defined(_FPU_GETCW)
{
int cw;
_FPU_GETCW(cw);
cw = (cw & ~_FPU_EXTENDED) | _FPU_DOUBLE;
_FPU_SETCW(cw);
}
#elif defined(_PC_53)
// On the x64 architecture, changing the floating point precision is not supported.
#ifndef _WIN64
int cfp = _control87(_PC_53, _MCW_PC);
#endif
#endif
I can also see you noted in D_Main.cpp that the math variance might get cropped, gcc.
// Set the FPU precision to 53 significant bits. This is the default
// for Visual C++, but not for GCC, so some slight math variances
// might crop up if we leave it alone.
#if defined(_FPU_GETCW)
{
int cw;
_FPU_GETCW(cw);
cw = (cw & ~_FPU_EXTENDED) | _FPU_DOUBLE;
_FPU_SETCW(cw);
}
#elif defined(_PC_53)
// On the x64 architecture, changing the floating point precision is not supported.
#ifndef _WIN64
int cfp = _control87(_PC_53, _MCW_PC);
#endif
#endif
RE: Compiling on ARM| Unrecognized Command
ARM is bi-endian IIRC so it should work taking care to remove the x86isms (turning on SSE, disabling the ASM). Zandronum 2.0 should definitely work fine since PowerPC support was added to ZDoom at that point so in theory the endian issues are taken care of there.Torr Samaho wrote: and I don't know if even the latest ZDoom version is ARM compatible
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Compiling on ARM| Unrecognized Command
Thanks for the info!Blzut3 wrote: ARM is bi-endian IIRC so it should work taking care to remove the x86isms (turning on SSE, disabling the ASM). Zandronum 2.0 should definitely work fine since PowerPC support was added to ZDoom at that point so in theory the endian issues are taken care of there.
ODROID, are you trying to compile the latest 2.0 alpha or 1.2?
RE: Compiling on ARM| Unrecognized Command
I was trying to compile 1.2, I assume now 2,0 would be my best bet.
How to disable ASM and remove all x86 strings? I was putting -mlittle-endian as arch and that's how far I got with 1.2.
--Edit--
Where is 2.0 source :P?
How to disable ASM and remove all x86 strings? I was putting -mlittle-endian as arch and that's how far I got with 1.2.
--Edit--
Where is 2.0 source :P?
Last edited by ODROID on Thu Oct 31, 2013 1:43 pm, edited 1 time in total.
RE: Compiling on ARM| Unrecognized Command
There's a NO_ASM switch in CMake which disables the ASM. For SSE you'll need to look in src/CMakeLists.txt and find where we're enabling SSE optimizations and turn them off.ODROID wrote: How to disable ASM and remove all x86 strings? I was putting -mlittle-endian as arch and that's how far I got with 1.2.
Just grab the latest version from the main Mercurial repository.ODROID wrote: Where is 2.0 source :P?
RE: Compiling on ARM| Unrecognized Command
Which one?Blzut3 wrote: There's a NO_ASM switch in CMake which disables the ASM.
-DNO_ASM=1
-DNO_ASM=ON
-DNOASM
Last edited by skyrimguy on Thu Oct 31, 2013 9:02 pm, edited 1 time in total.
RE: Compiling on ARM| Unrecognized Command
Either of the first two should work, but -DNO_ASM=ON is typically what's used.
If you're ever not sure about a cmake setting there's always cmake -i, ccmake, or cmake-gui. ;)
If you're ever not sure about a cmake setting there's always cmake -i, ccmake, or cmake-gui. ;)
RE: Compiling on ARM| Unrecognized Command
Thanks everyone, Thank you all for your kindness and patience.
But for today, I've been experiencing high wind speeds making the power go out on and off all day. I will continue on this tomorrow. I'm about to check cmake-gui. Never thought cmake had a ui.
But for today, I've been experiencing high wind speeds making the power go out on and off all day. I will continue on this tomorrow. I'm about to check cmake-gui. Never thought cmake had a ui.
RE: Compiling on ARM| Unrecognized Command
Now all I'm waiting for is a bigger and faster SD card, as I'm using as of now a 4GB SD Card Class (4), which is painfully slow for SoC computers. My 8GB recently died or as other people say "Ran out of cycles and turned read only?" Once I get it, I'll compile this with some results asap.