LPCNet icon indicating copy to clipboard operation
LPCNet copied to clipboard

Check CMAKE_OSX_ARCHITECTURES and only define relevant optimizations

Open tmiw opened this issue 2 years ago • 17 comments

Per previous PLT discussion, this PR reimplements #57 in a manner that should have lower impact:

  • The lowest supported macOS release is set to 10.5 unconditionally. CMake/Apple Clang from personal experience will use the minimum supported version of the SDK for each architecture provided in CMAKE_OSX_ARCHITECTURES.
  • CMAKE_OSX_ARCHITECTURES is set to x86_64 and arm64 unless specifically overridden at the command line (i.e. cmake -DCMAKE_OSX_ARCHITECTURES=ppc\;ppc64 ..)
  • *_PRESENT is only enabled for the relevant architectures based on the contents of CMAKE_OSX_ARCHITECTURES.
  • The README file has been updated to clarify that only x86 and ARM are officially supported.

tmiw avatar Aug 16 '23 07:08 tmiw

CC @drowe67 to review proposed README contents.

@barracuda156, feel free to give this a shot and see how it goes.

tmiw avatar Aug 16 '23 07:08 tmiw

BTW, I compiled this PR into codec2/freedv-gui and it appears I can still decode the example 2020 WAV file on macOS. Additionally, forcing the minimum macOS version to 10.5 doesn't seem to have affected x86_64 and ARM builds as the compiler automatically chose higher versions as approrpiate:

Mooneer6MBP2325:build_osx mooneer$ vtool -show-build src/liblpcnetfreedv.dylib 
src/liblpcnetfreedv.dylib (architecture x86_64):
Load command 8
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.9
      sdk 13.3
src/liblpcnetfreedv.dylib (architecture arm64):
Load command 9
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform MACOS
    minos 11.0
      sdk 13.3
   ntools 1
     tool LD
  version 857.1

tmiw avatar Aug 16 '23 07:08 tmiw

Thanks @tmiw - README looks fine.

drowe67 avatar Aug 17 '23 20:08 drowe67

Thanks @tmiw - README looks fine.

Cool. Once @barracuda156 confirms that this PR works, it can be merged.

tmiw avatar Aug 18 '23 01:08 tmiw

Thanks @tmiw - README looks fine.

Cool. Once @barracuda156 confirms that this PR works, it can be merged.

@tmiw Let me try and update you.

barracuda156 avatar Aug 18 '23 19:08 barracuda156

@tmiw Applying just changes to CMakeLists from eecf55d1a935e9d786a19081b41c797ae74b2d2b I still get an error due to Neon flags picked:

--->  Configuring lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 
-- The C compiler identification is GNU 12.3.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/local/bin/gcc-mp-12 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- LPCNet version: 0.5
-- Host system arch is: powerpc
-- Looking for available CPU optimizations on an OSX system...
-- neon processor flags found or enabled.
-- Compilation date = XX20230819XX
-- Configuring done (27.2s)
-- Generating done (0.4s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_OBJCXX_COMPILER
    CMAKE_OBJC_COMPILER
    CMAKE_POLICY_DEFAULT_CMP0025


-- Build files have been written to: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build
--->  Building lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /usr/bin/make -j6 -w all VERBOSE=ON 
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/opt/local/bin/cmake -S/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 -B/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/CMakeFiles /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build//CMakeFiles/progress.marks
/usr/bin/make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/lpcnetfreedv.dir/build.make src/CMakeFiles/lpcnetfreedv.dir/depend
/usr/bin/make  -f src/CMakeFiles/test_vec.dir/build.make src/CMakeFiles/test_vec.dir/depend
/usr/bin/make  -f src/CMakeFiles/weight.dir/build.make src/CMakeFiles/weight.dir/depend
/usr/bin/make  -f src/CMakeFiles/quant2c.dir/build.make src/CMakeFiles/quant2c.dir/depend
/usr/bin/make  -f src/CMakeFiles/diff32.dir/build.make src/CMakeFiles/diff32.dir/depend
/usr/bin/make  -f src/CMakeFiles/ramp.dir/build.make src/CMakeFiles/ramp.dir/depend
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/diff32.dir/DependInfo.cmake "--color="
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/ramp.dir/DependInfo.cmake "--color="
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/lpcnetfreedv.dir/DependInfo.cmake "--color="
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/test_vec.dir/DependInfo.cmake "--color="
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/weight.dir/DependInfo.cmake "--color="
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/quant2c.dir/DependInfo.cmake "--color="
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/diff32.dir/build.make src/CMakeFiles/diff32.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/test_vec.dir/build.make src/CMakeFiles/test_vec.dir/build
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/ramp.dir/build.make src/CMakeFiles/ramp.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/lpcnetfreedv.dir/build.make src/CMakeFiles/lpcnetfreedv.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/quant2c.dir/build.make src/CMakeFiles/quant2c.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/weight.dir/build.make src/CMakeFiles/weight.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
[  1%] Building C object src/CMakeFiles/diff32.dir/diff32.c.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/diff32.dir/diff32.c.o -MF CMakeFiles/diff32.dir/diff32.c.o.d -o CMakeFiles/diff32.dir/diff32.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/diff32.c
[  3%] Building C object src/CMakeFiles/ramp.dir/ramp.c.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/ramp.dir/ramp.c.o -MF CMakeFiles/ramp.dir/ramp.c.o.d -o CMakeFiles/ramp.dir/ramp.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/ramp.c
[  4%] Building C object src/CMakeFiles/test_vec.dir/test_vec.c.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -mfpu=neon -MD -MT src/CMakeFiles/test_vec.dir/test_vec.c.o -MF CMakeFiles/test_vec.dir/test_vec.c.o.d -o CMakeFiles/test_vec.dir/test_vec.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/test_vec.c
[  6%] Building C object src/CMakeFiles/quant2c.dir/quant2c.c.o
[  8%] Building C object src/CMakeFiles/lpcnetfreedv.dir/freq.c.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/quant2c.dir/quant2c.c.o -MF CMakeFiles/quant2c.dir/quant2c.c.o.d -o CMakeFiles/quant2c.dir/quant2c.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/quant2c.c
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mfpu=neon -MD -MT src/CMakeFiles/lpcnetfreedv.dir/freq.c.o -MF CMakeFiles/lpcnetfreedv.dir/freq.c.o.d -o CMakeFiles/lpcnetfreedv.dir/freq.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/freq.c
[  9%] Building C object src/CMakeFiles/weight.dir/weight.c.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/weight.dir/weight.c.o -MF CMakeFiles/weight.dir/weight.c.o.d -o CMakeFiles/weight.dir/weight.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/weight.c
gcc-mp-12: error: unrecognized command-line option '-mfpu=neon'
make[2]: *** [src/CMakeFiles/test_vec.dir/test_vec.c.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[1]: *** [src/CMakeFiles/test_vec.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
gcc-mp-12: error: unrecognized command-line option '-mfpu=neon'
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/freq.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/quant2c.c: In function 'main':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/quant2c.c:59:13: warning: unused variable 'rd' [-Wunused-variable]
   59 |         int rd = fread(&vq[num_stages*k*MAX_ENTRIES], sizeof(float), m[num_stages]*k, fq);
      |             ^~
[ 11%] Building C object src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/weight.c: In function 'main':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/weight.c:18:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
   18 |     int ret;
      |         ^~~
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mfpu=neon -MD -MT src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o -MF CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o.d -o CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/src/kiss_fft.c
gcc-mp-12: error: unrecognized command-line option '-mfpu=neon'
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o] Error 1

(I have dropped Macports patches here.)

barracuda156 avatar Aug 18 '23 20:08 barracuda156

You'll need to add the following to the CMake call:

-DBUILD_OSX_UNIVERSAL=1 -DCMAKE_OSX_ARCHITECTURES=ppc\;ppc64

tmiw avatar Aug 18 '23 20:08 tmiw

You'll need to add the following to the CMake call:

-DBUILD_OSX_UNIVERSAL=1 -DCMAKE_OSX_ARCHITECTURES=ppc\;ppc64

@tmiw The problem is here: https://github.com/drowe67/LPCNet/blob/eecf55d1a935e9d786a19081b41c797ae74b2d2b/CMakeLists.txt#L131

We cannot assume that the build must be universal; in fact, it is possible only on G5 and 10.5, and even then building just for ppc64 will likely be preferred. However, non-universal builds have not been addressed here (I am sorry, I overlooked that too when saw the changes).

I.e. requiring -DCMAKE_OSX_ARCHITECTURES= for PPC is perfectly okay, but it can be – and usually will be – just one arch, not both.

barracuda156 avatar Aug 18 '23 20:08 barracuda156

@barracuda156, how about now?

tmiw avatar Aug 19 '23 18:08 tmiw

I haven't heard anything yet so I'm going to assume we're good. @drowe67, okay to merge?

tmiw avatar Aug 31 '23 19:08 tmiw

@tmiw Sorry, missed the message. I will check this tomorrow. Away from my PPC hardware atm, but I think this can work in Rosetta too.

barracuda156 avatar Aug 31 '23 19:08 barracuda156

@tmiw - yes I'm OK if you want to merge.

drowe67 avatar Aug 31 '23 20:08 drowe67

Building from eecf55d1a935e9d786a19081b41c797ae74b2d2b On Rosetta it does not work, unfortunately: arch gets misdetected, disabling optimizations is ignored (despite -DCMAKE_OSX_ARCHITECTURES="ppc" being passed) and build fails:

--->  Configuring lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DDISABLE_CPU_OPTIMIZATION=ON -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b 
-- The C compiler identification is GNU 12.2.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/local/bin/gcc-mp-12 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- LPCNet version: 0.5
-- Host system arch is: x86_64
-- avx processor flags found or enabled.
-- Compilation date = XX20230904XX
-- Configuring done (40.6s)
-- Generating done (0.8s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_OBJCXX_COMPILER
    CMAKE_OBJC_COMPILER
    CMAKE_POLICY_DEFAULT_CMP0025


-- Build files have been written to: /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build
--->  Building lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /usr/bin/make -j8 -w all VERBOSE=ON 
make: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/opt/local/bin/cmake -S/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b -B/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/CMakeFiles /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build//CMakeFiles/progress.marks
/usr/bin/make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/lpcnetfreedv.dir/build.make src/CMakeFiles/lpcnetfreedv.dir/depend
/usr/bin/make  -f src/CMakeFiles/test_vec.dir/build.make src/CMakeFiles/test_vec.dir/depend
/usr/bin/make  -f src/CMakeFiles/weight.dir/build.make src/CMakeFiles/weight.dir/depend
/usr/bin/make  -f src/CMakeFiles/quant2c.dir/build.make src/CMakeFiles/quant2c.dir/depend
/usr/bin/make  -f src/CMakeFiles/diff32.dir/build.make src/CMakeFiles/diff32.dir/depend
/usr/bin/make  -f src/CMakeFiles/ramp.dir/build.make src/CMakeFiles/ramp.dir/depend
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/test_vec.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/weight.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/quant2c.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/diff32.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/lpcnetfreedv.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/ramp.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/diff32.dir/build.make src/CMakeFiles/diff32.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/test_vec.dir/build.make src/CMakeFiles/test_vec.dir/build
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/weight.dir/build.make src/CMakeFiles/weight.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/ramp.dir/build.make src/CMakeFiles/ramp.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/lpcnetfreedv.dir/build.make src/CMakeFiles/lpcnetfreedv.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/quant2c.dir/build.make src/CMakeFiles/quant2c.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
[  1%] Building C object src/CMakeFiles/diff32.dir/diff32.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/diff32.dir/diff32.c.o -MF CMakeFiles/diff32.dir/diff32.c.o.d -o CMakeFiles/diff32.dir/diff32.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/diff32.c
[  3%] Building C object src/CMakeFiles/ramp.dir/ramp.c.o
[  4%] Building C object src/CMakeFiles/lpcnetfreedv.dir/freq.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/ramp.dir/ramp.c.o -MF CMakeFiles/ramp.dir/ramp.c.o.d -o CMakeFiles/ramp.dir/ramp.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/ramp.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mavx -MD -MT src/CMakeFiles/lpcnetfreedv.dir/freq.c.o -MF CMakeFiles/lpcnetfreedv.dir/freq.c.o.d -o CMakeFiles/lpcnetfreedv.dir/freq.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/freq.c
[  6%] Building C object src/CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o
[  8%] Building C object src/CMakeFiles/weight.dir/weight.c.o
[  9%] Building C object src/CMakeFiles/test_vec.dir/test_vec.c.o
[ 11%] Building C object src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/weight.dir/weight.c.o -MF CMakeFiles/weight.dir/weight.c.o.d -o CMakeFiles/weight.dir/weight.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/weight.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mavx -MD -MT src/CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o -MF CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o.d -o CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/celt_lpc.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -mavx -MD -MT src/CMakeFiles/test_vec.dir/test_vec.c.o -MF CMakeFiles/test_vec.dir/test_vec.c.o.d -o CMakeFiles/test_vec.dir/test_vec.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/test_vec.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mavx -MD -MT src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o -MF CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o.d -o CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/kiss_fft.c
[ 12%] Building C object src/CMakeFiles/quant2c.dir/quant2c.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/quant2c.dir/quant2c.c.o -MF CMakeFiles/quant2c.dir/quant2c.c.o.d -o CMakeFiles/quant2c.dir/quant2c.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-eecf55d1a935e9d786a19081b41c797ae74b2d2b/src/quant2c.c
gcc-mp-12: error: unrecognized command-line option '-mavx'
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/freq.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc-mp-12: error: unrecognized command-line option '-mavx'
gcc-mp-12: error: unrecognized command-line option '-mavx'
make[2]: *** [src/CMakeFiles/test_vec.dir/test_vec.c.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
gcc-mp-12: error: unrecognized command-line option '-mavx'
make[1]: *** [src/CMakeFiles/test_vec.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o] Error 1

barracuda156 avatar Sep 03 '23 19:09 barracuda156

Or did I pick a wrong commit? 9f251e8e612ca766644cff91f15c83c6b3fcce6e is the latest? I will try that now.

UPD. Same error. In effect, in Rosetta the build ignores CMAKE_OSX_ARCHITECTURES altogether, forcing AVX:

--->  Configuring lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DDISABLE_CPU_OPTIMIZATION=ON -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e 
-- The C compiler identification is GNU 12.2.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/local/bin/gcc-mp-12 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- LPCNet version: 0.5
-- Host system arch is: x86_64
-- avx processor flags found or enabled.
-- Compilation date = XX20230904XX
-- Configuring done (42.2s)
-- Generating done (0.8s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_OBJCXX_COMPILER
    CMAKE_OBJC_COMPILER
    CMAKE_POLICY_DEFAULT_CMP0025


-- Build files have been written to: /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build
--->  Building lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /usr/bin/make -j8 -w all VERBOSE=ON 
make: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/opt/local/bin/cmake -S/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e -B/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/CMakeFiles /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build//CMakeFiles/progress.marks
/usr/bin/make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/lpcnetfreedv.dir/build.make src/CMakeFiles/lpcnetfreedv.dir/depend
/usr/bin/make  -f src/CMakeFiles/test_vec.dir/build.make src/CMakeFiles/test_vec.dir/depend
/usr/bin/make  -f src/CMakeFiles/weight.dir/build.make src/CMakeFiles/weight.dir/depend
/usr/bin/make  -f src/CMakeFiles/quant2c.dir/build.make src/CMakeFiles/quant2c.dir/depend
/usr/bin/make  -f src/CMakeFiles/diff32.dir/build.make src/CMakeFiles/diff32.dir/depend
/usr/bin/make  -f src/CMakeFiles/ramp.dir/build.make src/CMakeFiles/ramp.dir/depend
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/test_vec.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/weight.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/quant2c.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/diff32.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/lpcnetfreedv.dir/DependInfo.cmake --color=
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src/CMakeFiles/ramp.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/weight.dir/build.make src/CMakeFiles/weight.dir/build
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/test_vec.dir/build.make src/CMakeFiles/test_vec.dir/build
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/ramp.dir/build.make src/CMakeFiles/ramp.dir/build
/usr/bin/make  -f src/CMakeFiles/diff32.dir/build.make src/CMakeFiles/diff32.dir/build
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/quant2c.dir/build.make src/CMakeFiles/quant2c.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
/usr/bin/make  -f src/CMakeFiles/lpcnetfreedv.dir/build.make src/CMakeFiles/lpcnetfreedv.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
[  1%] Building C object src/CMakeFiles/weight.dir/weight.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/weight.dir/weight.c.o -MF CMakeFiles/weight.dir/weight.c.o.d -o CMakeFiles/weight.dir/weight.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/weight.c
[  3%] Building C object src/CMakeFiles/quant2c.dir/quant2c.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/quant2c.dir/quant2c.c.o -MF CMakeFiles/quant2c.dir/quant2c.c.o.d -o CMakeFiles/quant2c.dir/quant2c.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/quant2c.c
[  6%] Building C object src/CMakeFiles/lpcnetfreedv.dir/freq.c.o
[  6%] Building C object src/CMakeFiles/test_vec.dir/test_vec.c.o
[ 11%] Building C object src/CMakeFiles/ramp.dir/ramp.c.o
[ 11%] Building C object src/CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o
[ 11%] Building C object src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -mavx -MD -MT src/CMakeFiles/test_vec.dir/test_vec.c.o -MF CMakeFiles/test_vec.dir/test_vec.c.o.d -o CMakeFiles/test_vec.dir/test_vec.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/test_vec.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mavx -MD -MT src/CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o -MF CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o.d -o CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/celt_lpc.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/ramp.dir/ramp.c.o -MF CMakeFiles/ramp.dir/ramp.c.o.d -o CMakeFiles/ramp.dir/ramp.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/ramp.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mavx -MD -MT src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o -MF CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o.d -o CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/kiss_fft.c
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -Dlpcnetfreedv_EXPORTS -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -fPIC -mavx -MD -MT src/CMakeFiles/lpcnetfreedv.dir/freq.c.o -MF CMakeFiles/lpcnetfreedv.dir/freq.c.o.d -o CMakeFiles/lpcnetfreedv.dir/freq.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/freq.c
[ 12%] Building C object src/CMakeFiles/diff32.dir/diff32.c.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/src && /opt/local/bin/gcc-mp-12 -DGIT_HASH=\"None\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build/_deps/lpcnet-src -Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD -pipe -Os -DNDEBUG -I/opt/local/include -DENABLE_ASSERTIONS -arch ppc -mmacosx-version-min=10.6 -MD -MT src/CMakeFiles/diff32.dir/diff32.c.o -MF CMakeFiles/diff32.dir/diff32.c.o.d -o CMakeFiles/diff32.dir/diff32.c.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-9f251e8e612ca766644cff91f15c83c6b3fcce6e/src/diff32.c
gcc-mp-12: error: unrecognized command-line option '-mavx'
gcc-mp-12: error: unrecognized command-line option '-mavx'
gcc-mp-12: error: unrecognized command-line option '-mavx'
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/kiss_fft.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/CMakeFiles/test_vec.dir/test_vec.c.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build'
make[1]: *** [src/CMakeFiles/test_vec.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/freq.c.o] Error 1
gcc-mp-12: error: unrecognized command-line option '-mavx'
make[2]: *** [src/CMakeFiles/lpcnetfreedv.dir/celt_lpc.c.o] Error 1

barracuda156 avatar Sep 03 '23 19:09 barracuda156

In that commit, CMAKE_OSX_ARCHITECTURES is ignored unless BUILD_OSX_UNIVERSAL is set to 1. The latest change I pushed will set BUILD_OSX_UNIVERSAL to 1 if you override CMAKE_OSX_ARCHITECTURES. Try again?

tmiw avatar Sep 03 '23 21:09 tmiw

The latest change I pushed will set BUILD_OSX_UNIVERSAL to 1 if you override CMAKE_OSX_ARCHITECTURES

@tmiw We will not want to force universal build, to be honest. To begin with, it simply cannot work with GCC, regardless of the arch, since no GCC after gcc-4.2 supports universal builds. Leaving compiler issue aside, what even will be universal on 10.4 and 10.6 (when building for PowerPC)? Only 10.5 SDK supports ppc64. Then, only on G5 it is meaningful to build for it, since on G4 64-bit binaries won’t run.

Logically, IMO, we just need to provide an option to override defaults via configure (i.e. avoiding manual hackery). Let defaults be whatever makes better sense, and if implementing logic to detect architecture is problematic or undesirable, then just provide a configure switch to make things work in a non-default case.

In fact, something like if (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc|ppc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")) will take care of PowerPC detection (or its negation to make sure Intel-specific options are not forced on PPC). But if that is not acceptable, then, I guess, just allow to set arch manually and disable Intel flags – for those who need that (which cannot possibly hurt anyone, since will never be used automatically). P. S. The OR case unbreaks builds in Rosetta, where CMAKE_SYSTEM_PROCESSOR will be x86, but CMAKE_OSX_ARCHITECTURES will be ppc.

barracuda156 avatar Sep 09 '23 18:09 barracuda156

OK, I think it should take into account all current feedback now. Once I get a confirmation that it builds, I'll merge.

tmiw avatar Sep 11 '23 04:09 tmiw