Building spring for raspberry pi 2 (armv7-a)

Building spring for raspberry pi 2 (armv7-a)

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
User avatar
teteros
Posts: 3
Joined: 04 Jun 2017, 17:39

Building spring for raspberry pi 2 (armv7-a)

Post by teteros »

I'm interested in building spring for the ARM architecture for spring-dedicated autohosting purposes. This post is intended a follow up to thisthread started by a different user

Using current spring git, as that has the required fixes for compiling without streflop

Code: Select all

gcc --version
gcc (GCC) 7.1.1 20170528
cmake flags used in the buildscript

Code: Select all

cmake . \
	-DMARCH_FLAG=armv7-a \
	-DENABLE_STREFLOP=FALSE \
	-DAI_TYPES=NONE \
	-DCMAKE_INSTALL_PREFIX=/usr \
	-DDATADIR=share/spring \
	-DCMAKE_SKIP_RPATH=YES
make
gcc flags in /etc/makepkg.conf (where arch linux stores compile settings)
These are specific to the cortex-a7 processor in the rpi2, as rpi3 for example is armv8, so you'd need to change these if you were to test compile yourself on a different arm device.
taken from the retropie project https://github.com/RetroPie/RetroPie-Se ... em.sh#L278

Code: Select all

CFLAGS="-O2 -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations"
CXXFLAGS="-O2 -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations"

Code: Select all

cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5
this block errors https://github.com/spring/spring/blob/d ... ID.cpp#L26
Full build log in attachments

Code: Select all

[ 26%] Building CXX object rts/builds/dedicated/CMakeFiles/engine-dedicated.dir/__/__/System/FileSystem/VFSHandler.cpp.o
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/CpuID.cpp: In function 'void springproc::ExecCPUID(unsigned int*, unsigned int*, unsigned int*, unsigned int*)':
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/CpuID.cpp:35:4: error: impossible constraint in 'asm'
   );
    ^
distcc[21314] ERROR: compile /home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/CpuID.cpp on localhost failed
make[2]: *** [tools/unitsync/CMakeFiles/unitsync.dir/build.make:423: tools/unitsync/CMakeFiles/unitsync.dir/__/__/rts/System/Platform/CpuID.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:924: tools/unitsync/CMakeFiles/unitsync.dir/all] Error 2
(Without ARM related flags) spring-git does build on my home arch x86_64 machine.
PKGBUILD https://gist.github.com/Teteros/624453c ... 821272556e
Attachments
spring-git-armv7h-103.0.1.r1023.g7e50d1d0d-1-armv7h-build.log
(117.44 KiB) Downloaded 6 times
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Building spring for raspberry pi 2 (armv7-a)

Post by Kloot »

thanks for following up on this.

cpuid doesn't exist as an ARM instruction, but isn't needed when building without streflop so just replace

Code: Select all

#if defined(__GNUC__)
by

Code: Select all

#if 0
in rts/System/Platform/CpuID.cpp#L26 to bypass it. an official fix will be pushed later.
User avatar
teteros
Posts: 3
Joined: 04 Jun 2017, 17:39

Re: Building spring for raspberry pi 2 (armv7-a)

Post by teteros »

Thanks, used the workaround but noticed you've pushed 851865f which works as well.

Now getting

Code: Select all

/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/Linux/CrashHandler.cpp: In function 'int CrashHandler::thread_unwind(ucontext_t*, void**, StackTrace&)':
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/Linux/CrashHandler.cpp:628:4: error: cannot convert 'ucontext_t* {aka ucontext*}' to 'unw_tdep_context_t* {aka unw_tdep_context*}' in initialization
    unw_getcontext(&thisctx);
    ^
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/Linux/CrashHandler.cpp:651:39: error: cannot convert 'ucontext_t* {aka ucontext*}' to 'unw_context_t* {aka unw_tdep_context*}' for argument '2' to 'int _ULarm_init_local(unw_cursor_t*, unw_context_t*)'
   int err = unw_init_local(&cursor, uc);
                                       ^
distcc[20840] ERROR: compile /home/alarm/.cache/pacaur/spring/src/spring/rts/System/Platform/Linux/CrashHandler.cpp on localhost failed
make[2]: *** [rts/builds/dedicated/CMakeFiles/engine-dedicated.dir/build.make:687: rts/builds/dedicated/CMakeFiles/engine-dedicated.dir/__/__/System/Platform/Linux/CrashHandler.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2621: rts/builds/dedicated/CMakeFiles/engine-dedicated.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Attachments
spring-git-armv7h-103.0.1.r1027.g851865f75-1-armv7h-build.log
(13.05 KiB) Downloaded 7 times
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Building spring for raspberry pi 2 (armv7-a)

Post by Kloot »

looks like ucontext_t isn't an alias for unw_context_t on ARM distro's; changing the two

Code: Select all

#if defined(__APPLE__)
lines to

Code: Select all

#if (defined(__arm__) || defined(__APPLE__))
should help.
User avatar
teteros
Posts: 3
Joined: 04 Jun 2017, 17:39

Re: Building spring for raspberry pi 2 (armv7-a)

Post by teteros »

Thanks with this patch as instructed, spring-dedicated (only) compileswhich was my objective indeed. Updated the PKGBUILD in the OP with the CMAKE flags needed. Specifically,

Code: Select all

-fPIC
CXX/C FLAG was necessary or the linker failed.

Now I can test it out. If there's interest in providing official ARM builds for spring-dedicated I'd like to help.
Seems (hard float) armv6 (rpi v1) armv7 (rpi v2, odroid c1/xu) and armv8 x64 (rpi v3, odroid c2) are most common.

For completion's sake, an engine-headless/legacy build fails with this log:

Code: Select all

[ 90%] Building CXX object rts/builds/headless/CMakeFiles/engine-headless.dir/__/__/System/Platform/Clipboard.cpp.o
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp: In function 'void MatrixMatrixMultiplySSE(const CMatrix44f&, const CMatrix44f&, CMatrix44f*)':
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:315:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m1c1 = _mm_loadu_ps(&m1.md[0][0]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:316:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m1c2 = _mm_loadu_ps(&m1.md[1][0]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:317:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m1c3 = _mm_loadu_ps(&m1.md[2][0]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:318:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m1c4 = _mm_loadu_ps(&m1.md[3][0]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:325:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i0 = _mm_load1_ps(&m2.m[0]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:326:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i1 = _mm_load1_ps(&m2.m[1]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:327:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i2 = _mm_load1_ps(&m2.m[2]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:329:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i4 = _mm_load1_ps(&m2.m[4]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:330:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i5 = _mm_load1_ps(&m2.m[5]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:331:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i6 = _mm_load1_ps(&m2.m[6]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:333:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i8 = _mm_load1_ps(&m2.m[8]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:334:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i9 = _mm_load1_ps(&m2.m[9]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:335:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i10 = _mm_load1_ps(&m2.m[10]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:336:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i11 = _mm_load1_ps(&m2.m[11]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:337:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i12 = _mm_load1_ps(&m2.m[12]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:338:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i13 = _mm_load1_ps(&m2.m[13]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:339:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i14 = _mm_load1_ps(&m2.m[14]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:340:8: error: '__m128' does not name a type; did you mean '__y1l'?
  const __m128 m2i15 = _mm_load1_ps(&m2.m[15]);
        ^~~~~~
        __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:342:2: error: '__m128' was not declared in this scope
  __m128 moutc1, moutc2, moutc3, moutc4;
  ^~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:342:2: note: suggested alternative: '__y1l'
  __m128 moutc1, moutc2, moutc3, moutc4;
  ^~~~~~
  __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:2: error: 'moutc1' was not declared in this scope
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
  ^~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:2: note: suggested alternative: 'mout'
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
  ^~~~~~
  mout
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:41: error: 'm1c1' was not declared in this scope
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
                                         ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:41: note: suggested alternative: 'm1'
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
                                         ^~~~
                                         m1
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:47: error: 'm2i0' was not declared in this scope
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:47: note: suggested alternative: 'm2'
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:30: error: '_mm_mul_ps' was not declared in this scope
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
                              ^~~~~~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:343:30: note: suggested alternative: '__muldc3'
  moutc1 =                    _mm_mul_ps(m1c1, m2i0);
                              ^~~~~~~~~~
                              __muldc3
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:344:2: error: 'moutc2' was not declared in this scope
  moutc2 =                    _mm_mul_ps(m1c1, m2i4);
  ^~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:344:2: note: suggested alternative: 'mout'
  moutc2 =                    _mm_mul_ps(m1c1, m2i4);
  ^~~~~~
  mout
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:344:47: error: 'm2i4' was not declared in this scope
  moutc2 =                    _mm_mul_ps(m1c1, m2i4);
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:344:47: note: suggested alternative: 'm2'
  moutc2 =                    _mm_mul_ps(m1c1, m2i4);
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:345:2: error: 'moutc3' was not declared in this scope
  moutc3 =                    _mm_mul_ps(m1c1, m2i8);
  ^~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:345:2: note: suggested alternative: 'mout'
  moutc3 =                    _mm_mul_ps(m1c1, m2i8);
  ^~~~~~
  mout
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:345:47: error: 'm2i8' was not declared in this scope
  moutc3 =                    _mm_mul_ps(m1c1, m2i8);
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:345:47: note: suggested alternative: 'm2'
  moutc3 =                    _mm_mul_ps(m1c1, m2i8);
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:346:2: error: 'moutc4' was not declared in this scope
  moutc4 =                    _mm_mul_ps(m1c1, m2i12);
  ^~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:346:2: note: suggested alternative: 'mout'
  moutc4 =                    _mm_mul_ps(m1c1, m2i12);
  ^~~~~~
  mout
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:346:47: error: 'm2i12' was not declared in this scope
  moutc4 =                    _mm_mul_ps(m1c1, m2i12);
                                               ^~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:348:41: error: 'm1c2' was not declared in this scope
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c2, m2i1));
                                         ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:348:41: note: suggested alternative: 'm1'
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c2, m2i1));
                                         ^~~~
                                         m1
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:348:47: error: 'm2i1' was not declared in this scope
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c2, m2i1));
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:348:47: note: suggested alternative: 'm1'
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c2, m2i1));
                                               ^~~~
                                               m1
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:348:11: error: '_mm_add_ps' was not declared in this scope
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c2, m2i1));
           ^~~~~~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:349:47: error: 'm2i5' was not declared in this scope
  moutc2 = _mm_add_ps(moutc2, _mm_mul_ps(m1c2, m2i5));
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:349:47: note: suggested alternative: 'm2'
  moutc2 = _mm_add_ps(moutc2, _mm_mul_ps(m1c2, m2i5));
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:350:47: error: 'm2i9' was not declared in this scope
  moutc3 = _mm_add_ps(moutc3, _mm_mul_ps(m1c2, m2i9));
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:350:47: note: suggested alternative: 'm2'
  moutc3 = _mm_add_ps(moutc3, _mm_mul_ps(m1c2, m2i9));
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:351:47: error: 'm2i13' was not declared in this scope
  moutc4 = _mm_add_ps(moutc4, _mm_mul_ps(m1c2, m2i13));
                                               ^~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:353:41: error: 'm1c3' was not declared in this scope
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c3, m2i2));
                                         ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:353:41: note: suggested alternative: 'm1'
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c3, m2i2));
                                         ^~~~
                                         m1
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:353:47: error: 'm2i2' was not declared in this scope
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c3, m2i2));
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:353:47: note: suggested alternative: 'm2'
  moutc1 = _mm_add_ps(moutc1, _mm_mul_ps(m1c3, m2i2));
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:354:47: error: 'm2i6' was not declared in this scope
  moutc2 = _mm_add_ps(moutc2, _mm_mul_ps(m1c3, m2i6));
                                               ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:354:47: note: suggested alternative: 'm2'
  moutc2 = _mm_add_ps(moutc2, _mm_mul_ps(m1c3, m2i6));
                                               ^~~~
                                               m2
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:355:47: error: 'm2i10' was not declared in this scope
  moutc3 = _mm_add_ps(moutc3, _mm_mul_ps(m1c3, m2i10));
                                               ^~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:356:47: error: 'm2i14' was not declared in this scope
  moutc4 = _mm_add_ps(moutc4, _mm_mul_ps(m1c3, m2i14));
                                               ^~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:360:41: error: 'm1c4' was not declared in this scope
  moutc3 = _mm_add_ps(moutc3, _mm_mul_ps(m1c4, m2i11));
                                         ^~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:360:41: note: suggested alternative: 'm1'
  moutc3 = _mm_add_ps(moutc3, _mm_mul_ps(m1c4, m2i11));
                                         ^~~~
                                         m1
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:360:47: error: 'm2i11' was not declared in this scope
  moutc3 = _mm_add_ps(moutc3, _mm_mul_ps(m1c4, m2i11));
                                               ^~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:361:47: error: 'm2i15' was not declared in this scope
  moutc4 = _mm_add_ps(moutc4, _mm_mul_ps(m1c4, m2i15));
                                               ^~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:363:2: error: '_mm_storeu_ps' was not declared in this scope
  _mm_storeu_ps(&mout->md[0][0], moutc1);
  ^~~~~~~~~~~~~
[ 90%] Building CXX object rts/builds/headless/CMakeFiles/engine-headless.dir/__/__/System/Platform/errorhandler.cpp.o
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp: In member function 'float4 CMatrix44f::operator*(float4) const':
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:402:2: error: '__m128' was not declared in this scope
  __m128 out;
  ^~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:402:2: note: suggested alternative: '__y1l'
  __m128 out;
  ^~~~~~
  __y1l
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:403:2: error: 'out' was not declared in this scope
  out =                 _mm_mul_ps(_mm_loadu_ps(&md[0][0]), _mm_set1_ps(v.x)) ; // or _mm_load1_ps(&v.x)
  ^~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:403:2: note: suggested alternative: 'putw'
  out =                 _mm_mul_ps(_mm_loadu_ps(&md[0][0]), _mm_set1_ps(v.x)) ; // or _mm_load1_ps(&v.x)
  ^~~
  putw
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:403:35: error: '_mm_loadu_ps' was not declared in this scope
  out =                 _mm_mul_ps(_mm_loadu_ps(&md[0][0]), _mm_set1_ps(v.x)) ; // or _mm_load1_ps(&v.x)
                                   ^~~~~~~~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:403:60: error: '_mm_set1_ps' was not declared in this scope
  out =                 _mm_mul_ps(_mm_loadu_ps(&md[0][0]), _mm_set1_ps(v.x)) ; // or _mm_load1_ps(&v.x)
                                                            ^~~~~~~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:403:24: error: '_mm_mul_ps' was not declared in this scope
  out =                 _mm_mul_ps(_mm_loadu_ps(&md[0][0]), _mm_set1_ps(v.x)) ; // or _mm_load1_ps(&v.x)
                        ^~~~~~~~~~
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:403:24: note: suggested alternative: '__muldc3'
  out =                 _mm_mul_ps(_mm_loadu_ps(&md[0][0]), _mm_set1_ps(v.x)) ; // or _mm_load1_ps(&v.x)
                        ^~~~~~~~~~
                        __muldc3
/home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp:404:8: error: '_mm_add_ps' was not declared in this scope
  out = _mm_add_ps(out, _mm_mul_ps(_mm_loadu_ps(&md[1][0]), _mm_set1_ps(v.y))); // or _mm_load1_ps(&v.y)
        ^~~~~~~~~~
[ 90%] Building CXX object rts/builds/headless/CMakeFiles/engine-headless.dir/__/__/System/Platform/Misc.cpp.o
distcc[15326] ERROR: compile /home/alarm/.cache/pacaur/spring/src/spring/rts/System/Matrix44f.cpp on localhost failed
make[2]: *** [rts/builds/headless/CMakeFiles/engine-headless.dir/build.make:7071: rts/builds/headless/CMakeFiles/engine-headless.dir/__/__/System/Matrix44f.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:2767: rts/builds/headless/CMakeFiles/engine-headless.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Attachments
spring-git-armv7h-103.0.1.r1029.g2d95cc2c2-1-armv7h-build.log
(225.92 KiB) Downloaded 5 times
Post Reply

Return to “Help & Bugs”