Context: I finally got my L5 (my order got lost, then delayed due to SIMple service, etc., but I’m happy with it now).
Has anyone succeeded in installing new software from source? More specifically, I want to be able to record my own voice, and the intuitive way to do that would be to install tenacity (the modern version of audacity, with no telemetry).
I know, I know, I should probably just choose a simpler app to record my voice; you can suggest some below. But in the meantime, I want to post my CMake error messages to see if anyone can help.
The CMake Error log contains the following:
/usr/bin/c++ -DHAVE_MMX -mmmx -std=gnu++17 -o CMakeFiles/cmTC_7f507.dir/src.cxx.o -c "/media/purism/256 SDcard/git/tenacity/build/CMakeFiles/CMakeTmp/src.cxx"
c++: error: unrecognized command-line option '-mmmx'
/usr/bin/c++ -DHAVE_SSE -msse -std=gnu++17 -o CMakeFiles/cmTC_0e5d6.dir/src.cxx.o -c "/media/purism/256 SDcard/git/tenacity/build/CMakeFiles/CMakeTmp/src.cxx"
c++: error: unrecognized command-line option '-msse'
/usr/bin/c++ -DHAVE_SSE2 -msse2 -std=gnu++17 -o CMakeFiles/cmTC_582c5.dir/src.cxx.o -c "/media/purism/256 SDcard/git/tenacity/build/CMakeFiles/CMakeTmp/src.cxx"
c++: error: unrecognized command-line option '-msse2'
Clearly, it is applying these g++ flags (mmmx, msse, msse2) to my compiler, when it presumably shouldn’t be. Oddly, I cannot seem to install gcc-doc, so I can’t even see the manpage for the compiler I’m using. All I know is, it’s 10.2.1 and it uses target aarch64-linux-gnu like it should.
The CMakeLists contains:
if( CMAKE_CXX_COMPILER_ID MATCHES "AppleClang|Clang|GNU" )
check_cxx_compiler_flag( "-mmmx" HAVE_MMX )
if( HAVE_MMX AND NOT IS_64BIT )
set( MMX_FLAG "-mmmx" CACHE INTERNAL "" )
endif()
check_cxx_compiler_flag( "-msse" HAVE_SSE )
if( HAVE_SSE AND NOT IS_64BIT )
set( SSE_FLAG "-msse" CACHE INTERNAL "" )
endif()
check_cxx_compiler_flag( "-msse2" HAVE_SSE2 )
if( HAVE_SSE2 AND NOT IS_64BIT )
set( SSE_FLAG "-msse2" CACHE INTERNAL "" )
endif()
elseif( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
set( HAVE_MMX ON )
set( HAVE_SSE ON )
set( HAVE_SSE2 ON )
if( NOT IS_64BIT )
set( SSE_FLAG "/arch:SSE2" )
endif()
endif()
Even more weirdly, it proceeds to try to link the object files despite the above failures(???). Later in the CMakeError log, I see:
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_d5639.dir/src.c.o -o cmTC_d5639 -lm -latomic -ldl
/usr/bin/ld: CMakeFiles/cmTC_d5639.dir/src.c.o: in function `main':
src.c:(.text+0x34): undefined reference to `pthread_create'
/usr/bin/ld: src.c:(.text+0x3c): undefined reference to `pthread_detach'
/usr/bin/ld: src.c:(.text+0x44): undefined reference to `pthread_cancel'
/usr/bin/ld: src.c:(.text+0x50): undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
I’m running out of ideas for how to resolve this. Even when I add debugging lines to the CMakeLists, I don’t see anything unusual: the pointer size is 8 bytes, and it says “Performing Test HAVE_MMX - Failed!”
Can anybody help?
The error does look similar to this one, about installing tor: