Skip to content

Building for ARM64

Stepping through the build script in this repository I've documented which parts worked, and which dont. At first, I couldn't pull the submodules, but the remotes in !1 (merged) seemed to have the same commits, so I used those instead. Second step was to build a docker image with this dockerfile and modification of run-docker.sh to point to my local container.

Here's what I found:

Could be built

  • libsrtp
  • speex
  • opus
  • bcunit
  • bctoolbox

Failed to configure

speexdsp

I solved this by removing --enable-neon from speexdsp ./configure call. However, the build did not work afterwards and I don't know whether the flag is necessary

See also

bzrtp, ortp and belr depend on bctoolbox, but dont find it

While bctoolbox::make install was successful, this project did not seem to find ${BCTOOLBOX_CORE_INCLUDE_DIRS}

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/MY_HOME_HERE/compile-linphone-ubuntu-touch/bzrtp/src/BCTOOLBOX_CORE_INCLUDE_DIRS
   used as include directory in directory /MY_HOME_HERE/compile-linphone-ubuntu-touch/bzrtp/src
   used as include directory in directory /MY_HOME_HERE/compile-linphone-ubuntu-touch/bzrtp/src

The same error message was printed for ortp and belr.

belle-sip is missing java dependency

I wanted to try messing with the dockerfile, but had to pause at this point

CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Java (missing: Java_JAVA_EXECUTABLE Runtime)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.5/Modules/FindJava.cmake:244 (find_package_handle_standard_args)
  cmake/FindAntlr3.cmake:30 (find_package)
  CMakeLists.txt:82 (find_package)

mediastreamer2 depends on ortp

Could not find a package configuration file provided by "ORTP" with any of
  the following names:

    ORTPConfig.cmake
    ortp-config.cmake

Of course the ortp::${BCTOOLBOX_CORE_INCLUDE_DIRS} issue needs to be fixed first

Failed to build

speexdsp

Assuming the --enable-neon flag is removed I'm stuck with build errors that I don't quite understand yet:

Making install in libspeexdsp
make[1]: Entering directory '/MY_HOME_HERE/compile-linphone-ubuntu-touch/speexdsp/libspeexdsp'
  CC       preprocess.lo
  CC       jitter.lo
  CC       mdf.lo
  CC       fftwrap.lo
  CC       filterbank.lo
  CC       resample.lo
/tmp/cc4Spbzr.s: Assembler messages:
/tmp/cc4Spbzr.s:105: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d16},[x6]!'
/tmp/cc4Spbzr.s:106: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d20},[x3]!'
/tmp/cc4Spbzr.s:108: Error: unknown mnemonic `vmull.s16' -- `vmull.s16 q0,d16,d20'
/tmp/cc4Spbzr.s:111: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d16,d17,d18,d19},[x6]!'
/tmp/cc4Spbzr.s:112: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d20,d21,d22,d23},[x3]!'
/tmp/cc4Spbzr.s:114: Error: unknown mnemonic `vmull.s16' -- `vmull.s16 q0,d16,d20'
/tmp/cc4Spbzr.s:115: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d17,d21'
/tmp/cc4Spbzr.s:116: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d18,d22'
/tmp/cc4Spbzr.s:117: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d19,d23'
/tmp/cc4Spbzr.s:119: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d16,d17,d18,d19},[x6]!'
/tmp/cc4Spbzr.s:120: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d20,d21,d22,d23},[x3]!'
/tmp/cc4Spbzr.s:122: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d16,d20'
/tmp/cc4Spbzr.s:123: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d17,d21'
/tmp/cc4Spbzr.s:124: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d18,d22'
/tmp/cc4Spbzr.s:125: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d19,d23'
/tmp/cc4Spbzr.s:129: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d16},[x6]!'
/tmp/cc4Spbzr.s:130: Error: unknown mnemonic `vld1.16' -- `vld1.16 {d20},[x3]!'
/tmp/cc4Spbzr.s:132: Error: unknown mnemonic `vmlal.s16' -- `vmlal.s16 q0,d16,d20'
/tmp/cc4Spbzr.s:134: Error: unknown mnemonic `vaddl.s32' -- `vaddl.s32 q0,d0,d1'
/tmp/cc4Spbzr.s:135: Error: unknown mnemonic `vadd.s64' -- `vadd.s64 d0,d0,d1'
/tmp/cc4Spbzr.s:136: Error: unknown mnemonic `vqmovn.s64' -- `vqmovn.s64 d0,q0'
/tmp/cc4Spbzr.s:137: Error: unknown mnemonic `vqrshrn.s32' -- `vqrshrn.s32 d0,q0,#15'
/tmp/cc4Spbzr.s:138: Error: unknown mnemonic `vmov.s16' -- `vmov.s16 x11,d0[0]'
/tmp/cc4Spbzr.s:1119: Error: unknown mnemonic `vmov.s32' -- `vmov.s32 d0[0],x1'
/tmp/cc4Spbzr.s:1120: Error: unknown mnemonic `vqmovn.s32' -- `vqmovn.s32 d0,q0'
/tmp/cc4Spbzr.s:1121: Error: unknown mnemonic `vmov.s16' -- `vmov.s16 x2,d0[0]'
/tmp/cc4Spbzr.s:1150: Error: unknown mnemonic `vmov.s32' -- `vmov.s32 d0[0],x1'
/tmp/cc4Spbzr.s:1151: Error: unknown mnemonic `vqmovn.s32' -- `vqmovn.s32 d0,q0'
/tmp/cc4Spbzr.s:1152: Error: unknown mnemonic `vmov.s16' -- `vmov.s16 x2,d0[0]'
/tmp/cc4Spbzr.s:2574: Error: unknown mnemonic `vmov.s32' -- `vmov.s32 d0[0],x1'
/tmp/cc4Spbzr.s:2575: Error: unknown mnemonic `vqmovn.s32' -- `vqmovn.s32 d0,q0'
/tmp/cc4Spbzr.s:2576: Error: unknown mnemonic `vmov.s16' -- `vmov.s16 x4,d0[0]'
make[1]: *** [resample.lo] Error 1
Makefile:554: recipe for target 'resample.lo' failed
Edited by Alexander Burker
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information