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
- https://gitlab.xiph.org/xiph/speexdsp/-/issues/1
- https://github.com/xiph/speexdsp/issues/31#issuecomment-633853153
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