-ffast-math changes the floating point rounding mode globally, which is undesirable for shared libraries. see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55522 for details. Index: soundtouch/CMakeLists.txt =================================================================== --- soundtouch.orig/CMakeLists.txt +++ soundtouch/CMakeLists.txt @@ -3,13 +3,6 @@ project(SoundTouch VERSION 2.3.2 LANGUAG include(GNUInstallDirs) -if(MSVC) - set(COMPILE_DEFINITIONS /O2 /fp:fast) - set(COMPILE_OPTIONS ) -else() - set(COMPILE_OPTIONS -Ofast) -endif() - ##################### # SoundTouch library Index: soundtouch/configure.ac =================================================================== --- soundtouch.orig/configure.ac +++ soundtouch/configure.ac @@ -33,7 +33,7 @@ AC_LANG(C++) # Compiler flags. Apply -Ofast (implies -O3 -ffast-math) to allow gcc autovectorization # generate effective SIMD code. -CXXFLAGS+=" -Ofast" +CXXFLAGS+=" -O2" # Set AR_FLAGS to avoid build warning "ar: `u' modifier ignored since `D' is the default (see `U')" AR_FLAGS='cr'