The issue with gcc complaining will be fixed for next release since I already changed the standard for C sources compilation to c11 (because of
this issue with old C standards and newer gcc versions). You can fix it in the current sources by changing all occurrences of "-std=gnu89" with "-std=c11" in indra/cmake/00-Common.cmake.
However, your change from "-march=armv8-a+fp+simd" to "-march=armv8-a+crc+crypto" makes you loose all vectorized optimizations in sse2neon (see
their documentation, under "Usage", for the compile options to use):
you do need fp+simd ! crc+crypto is useless for the viewer code (no assembly-level crypto or CRC operation used), and might make the final binary incompatible with SoCs without these extensions.
Finally "-mcpu=cortex-a72" is inappropriate since it means the final binary will only work on an A72 or better CPU (it's like if I built the x86_64 releases with '-mcpu=skylake': the binary would have AVX2 operations embedded and would crash on CPUs without AVX2)... There is also already an "-march=native" option that is added automatically by the linux-buid.sh script (meaning any -mcpu option becomes redundant and actually less adequate/efficient) when it is invoked with the '--tune' option (to be used only for personal builds, not for release builds, since this binds the binary to SoCs equal or better than yours).
Sadly, as it is, the diff for the libraries builds script is unusable... Beside, the changes you made renders those scripts incompatible with x86 systems. If you wish to contribute build scripts, simply post them here in full (zipped, of course), and rename them
linux-build-arm64.sh or something in that vein, so that they can live along the Linux x86 build script equivalent...
The change you made to scripts/viewer_manifest.py breaks x86 builds packaging... You must add the proper detection for the library version to package, or use wild cards matching both the arm and x86 versions instead of changing the version number (which is in use by x86 builds), so that the script can work for both architectures. I got it right (using wildcards) for next releases.
There are also changes required in the viewer cmake files after the update to boost v1.79 and zlib-ng (see the comment in indra/cmake/*.cmake files about ARM64), else you fail to link against boost::atomic, and wrongly build against your system zlib instead of zlib-ng... Another change is needed in indra/media_plugins/cef/media_plugin_cef.cpp now that CEF got updated to the newest version. I got all those right for next releases.
I will update the install.xml file with your libraries for next releases. Thank you !
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)