Hi John,
VOLK tries to figure out the correct flags for you. We run CI tests for
aarch64, so these seem to work. Unless you have a good reason to set
compiler flags, I'd recommend to stick with what CMake detects for you.
The line `-- CPU is armv8, Overruled arch neonv7` tells you that armv8
was detected. Thus, we disable neonv7 and enable neonv8 if the compiler
supports it. On another system you'd see the inverse. We had a
discussion if it would be reasonable to enable both archs and select the
correct one during runtime but apparently you either have one arch or
the other, never both.
Cheers
Johannes
On 30.05.20 14:56, John Langworthy wrote:
Hi Ron,
Just seen your last. I had written this before you sent it, but thought
worth sharing anyway
Building volk with that toolchain does fail, see directly below. See
also further down, cmake output from volk without it (which is successful).
(gr_py36) pi@raspberry:~/volk/build$ cmake -DCMAKE_BUILD_TYPE=Release
-DPYTHON_EXECUTABLE=~/.conda/envs/gr_py36/python3/bin
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/arm_cortex_a72_hardfp_native.cmake
../
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- broken
CMake Error at /usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake:52
(message):
The C compiler
"/usr/bin/gcc"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /home/pi/volk/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_ba179/fast"
/usr/bin/make -f CMakeFiles/cmTC_ba179.dir/build.make
CMakeFiles/cmTC_ba179.dir/build
make[1]: Entering directory '/home/pi/volk/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_ba179.dir/testCCompiler.c.o
/usr/bin/gcc -march=armv8-a -mtune=cortex-a72 -mfpu=neon-fp-armv8
-mfloat-abi=hard -o CMakeFiles/cmTC_ba179.dir/testCCompiler.c.o -c
/home/pi/volk/build/CMakeFiles/CMakeTmp/testCCompiler.c
gcc: error: unrecognized command line option ‘-mfpu=neon-fp-armv8’
gcc: error: unrecognized command line option ‘-mfloat-abi=hard’
CMakeFiles/cmTC_ba179.dir/build.make:65: recipe for target
'CMakeFiles/cmTC_ba179.dir/testCCompiler.c.o' failed
make[1]: *** [CMakeFiles/cmTC_ba179.dir/testCCompiler.c.o] Error 1
make[1]: Leaving directory '/home/pi/volk/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_ba179/fast' failed
make: *** [cmTC_ba179/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:23 (project)
-- Configuring incomplete, errors occurred!
Without the toolchain, I get:
(gr_py36) pi@raspberry:~/volk/build$ cmake -DCMAKE_BUILD_TYPE=Release
-DPYTHON_EXECUTABLE=~/.conda/envs/gr_py36/bin/python3.6 ../
-- Build type set to Release.
-- Extracting version information from git describe...
--
-- Python checking for python >= 3.4
-- Python checking for python >= 3.4 - found
--
-- Python checking for mako >= 0.4.2
-- Python checking for mako >= 0.4.2 - found
-- Looking for C++ include filesystem
-- Looking for C++ include filesystem - not found
-- Looking for C++ include experimental/filesystem
-- Looking for C++ include experimental/filesystem - found
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Failed
-- Performing Test CXX_FILESYSTEM_STDCPPFS_NEEDED
-- Performing Test CXX_FILESYSTEM_STDCPPFS_NEEDED - Success
-- Looking for aligned_alloc
-- Looking for aligned_alloc - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'orc-0.4 > 0.4.11'
-- No package 'orc-0.4' found
-- orc files (missing: ORC_LIBRARY ORC_INCLUDE_DIR ORCC_EXECUTABLE)
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found
components: doxygen missing components: dot
-- QA Testing is enabled.
-- Modify using: -DENABLE_TESTING=ON/OFF
-- System profiling is disabled.
-- Modify using: -DENABLE_PROFILING=ON/OFF
-- Looking for cpuid.h
-- Looking for cpuid.h - not found
-- Looking for intrin.h
-- Looking for intrin.h - not found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Compiler name: GNU
-- Performing Test HAVE_WERROR_UNUSED_CMD_LINE_ARG
-- Performing Test HAVE_WERROR_UNUSED_CMD_LINE_ARG - Failed
-- Performing Test have_mfloat_abi_softfp
-- Performing Test have_mfloat_abi_softfp - Failed
-- Performing Test have_mfloat_abi_hard
-- Performing Test have_mfloat_abi_hard - Failed
-- Performing Test have_funsafe_math_optimizations
-- Performing Test have_funsafe_math_optimizations - Success
-- Performing Test have_mfpu_neon
-- Performing Test have_mfpu_neon - Failed
-- Performing Test have_m32
-- Performing Test have