dpayne / cli-visualizer

CLI based audio visualizer
MIT License
2.11k stars 123 forks source link

vis aborts on macOS apple silicon #184

Open poetaman opened 3 years ago

poetaman commented 3 years ago

vis aborts on macOS apple silicon.

Here's my edited install.sh:

#!/bin/bash

ARCH=`uname -m`

if [[ $ARCH == "arm6"* ]]; then export "VIS_COMPILER_ARCH"="armv6"; fi
if [[ $ARCH == "armv6"* ]]; then export "VIS_COMPILER_ARCH"="armv6"; fi
if [[ $ARCH == "armv7"* ]]; then export "VIS_COMPILER_ARCH"="armv6"; fi

mkdir build/
cd build/

CC=/opt/homebrew/bin/gcc-11 CXX=/opt/homebrew/bin/gcc-11 LDFLAGS='-L/opt/homebrew/Cellar/fftw/3.3.9_1/lib -lfftw3 -L/opt/homebrew/opt/pulseaudio/lib -lpulse -L/opt/homebrew/opt/portaudio/lib -lportaudio -L/opt/homebrew/Cellar/ncurses/6.2/lib -Wl,-search_paths_first -lncursesw' cmake -DCMAKE_CXX_COMPILER='/opt/homebrew/bin/g++-11' -DCMAKE_CXX_FLAGS='-I/opt/homebrew/opt/fftw/include -I/opt/homebrew/opt/pulseaudio/include -I/opt/homebrew/opt/portaudio/include -I/opt/homebrew/opt/ncurses/include' ../ && make clean && make ENABLE_PULSE=1 -j$(nproc) && sudo make install
cd ..

if [ -z "$XDG_CONFIG_HOME" ]
then
    CONFIG_DIR=$HOME/.config/vis
else
    CONFIG_DIR=$XDG_CONFIG_HOME/vis
fi

#create config directory
mkdir -p "$CONFIG_DIR/colors"

#copy over example files
cp examples/config $CONFIG_DIR/
cp examples/rainbow $CONFIG_DIR/colors/rainbow
cp examples/basic_colors $CONFIG_DIR/colors/basic_colors

Here's the log from running ./install.sh. For some reason it says ncursesw/ncurses.h not found, but its correctly linked (in my setup I have ncurses under /opt/homebrew/...)

-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.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/homebrew/bin/gcc-11 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/homebrew/bin/g++-11 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No build type selected, default to Release
-- Looking for ncursesw/ncurses.h
-- Looking for ncursesw/ncurses.h - not found
-- Performing Test CXX_COLOR_SUPPORTED
-- Performing Test CXX_COLOR_SUPPORTED - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/reportaman/Downloads/cli-visualizer/build
[  5%] Building CXX object CMakeFiles/vis.dir/src/Source/PortAudioSource.cpp.o
[ 10%] Building CXX object CMakeFiles/vis.dir/src/Source/AudioSource.cpp.o
[ 20%] Building CXX object CMakeFiles/vis.dir/src/Source/PulseAudioSource.cpp.o
[ 20%] Building CXX object CMakeFiles/vis.dir/src/Domain/VisException.cpp.o
[ 25%] Building CXX object CMakeFiles/vis.dir/src/Source/MpdAudioSource.cpp.o
[ 30%] Building CXX object CMakeFiles/vis.dir/src/Domain/Settings.cpp.o
[ 35%] Building CXX object CMakeFiles/vis.dir/src/Transformer/EllipseTransformer.cpp.o
[ 40%] Building CXX object CMakeFiles/vis.dir/src/Domain/ColorDefinition.cpp.o
[ 45%] Building CXX object CMakeFiles/vis.dir/src/Transformer/GenericTransformer.cpp.o
[ 50%] Building CXX object CMakeFiles/vis.dir/src/Transformer/LorenzTransformer.cpp.o
[ 55%] Building CXX object CMakeFiles/vis.dir/src/Transformer/SpectrumCircleTransformer.cpp.o
[ 60%] Building CXX object CMakeFiles/vis.dir/src/Transformer/SpectrumTransformer.cpp.o
[ 65%] Building CXX object CMakeFiles/vis.dir/src/Utils/ConfigurationUtils.cpp.o
[ 70%] Building CXX object CMakeFiles/vis.dir/src/Utils/Logger.cpp.o
[ 75%] Building CXX object CMakeFiles/vis.dir/src/Utils/NcursesUtils.cpp.o
[ 80%] Building CXX object CMakeFiles/vis.dir/src/Utils/Utils.cpp.o
[ 85%] Building CXX object CMakeFiles/vis.dir/src/vis.cpp.o
[ 90%] Building CXX object CMakeFiles/vis.dir/src/Visualizer.cpp.o
[ 95%] Building CXX object CMakeFiles/vis.dir/src/Writer/NcursesWriter.cpp.o
[100%] Linking CXX executable vis
[100%] Built target vis
Password:

Here are linked libraries:

❯ otool -L /usr/local/bin/vis
/usr/local/bin/vis:
    /opt/homebrew/opt/fftw/lib/libfftw3.3.dylib (compatibility version 10.0.0, current version 10.9.0)
    /opt/homebrew/opt/pulseaudio/lib/libpulse.0.dylib (compatibility version 24.0.0, current version 24.0.0)
    /opt/homebrew/opt/portaudio/lib/libportaudio.2.dylib (compatibility version 3.0.0, current version 3.0.0)
    /opt/homebrew/opt/ncurses/lib/libncursesw.6.dylib (compatibility version 6.0.0, current version 6.0.0)
    /opt/homebrew/opt/gcc/lib/gcc/11/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.29.0)
    /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
    /opt/homebrew/opt/pulseaudio/lib/libpulse-simple.0.dylib (compatibility version 2.0.0, current version 2.1.0)
    /opt/homebrew/opt/gcc/lib/gcc/11/libgcc_s.1.1.dylib (compatibility version 1.0.0, current version 1.1.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
❯ neofetch

                    'c.          reportaman@Mac-mini.local
                 ,xNMM.          ------------------------------
               .OMMMMo           OS: macOS 11.5 20G71 arm64
               OMMM0,            Host: Macmini9,1
     .;loddo:' loolloddol;.      Kernel: 20.6.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 2 hours, 6 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 1 (brew)
 XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: zsh 5.8
;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 3840x2160
:MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: Quartz Compositor
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.    WM Theme: Blue (Dark)
 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   Terminal: iTerm2
  .XMMMMMMMMMMMMMMMMMMMMMMMMK.   Terminal Font: OperatorMonoNerdFontComplete-Light 22
    kMMMMMMMMMMMMMMMMMMMMMMd     CPU: Apple M1
     ;KMMMMMMMWXXWMMMMMMMk.      GPU: Apple M1
       .cooc,.    .,coo:.        Memory: 1903MiB / 16384MiB
kylehovey commented 2 years ago

Same here. I used your modified build script on my MBP and vis compiles (after I update the library versions in your modified line) then aborts on launch.

                    'c.          speleo@Kyles-MacBook-Pro.local
                 ,xNMM.          ------------------------------
               .OMMMMo           OS: macOS 12.0 21A344 arm64
               OMMM0,            Host: MacBookPro18,2
     .;loddo:' loolloddol;.      Kernel: 21.0.1
   cKMMMMMMMMMMNWMMMMMMMMMM0:    Uptime: 4 days, 17 hours, 10 mins
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Packages: 97 (brew)
 XMMMMMMMMMMMMMMMMMMMMMMMX.      Shell: zsh 5.8
;MMMMMMMMMMMMMMMMMMMMMMMM:       Resolution: 3440x1440
:MMMMMMMMMMMMMMMMMMMMMMMM:       DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX.      WM: Amethyst
 kMMMMMMMMMMMMMMMMMMMMMMMMWd.    Terminal: iTerm2
 .XMMMMMMMMMMMMMMMMMMMMMMMMMMk   Terminal Font: FiraCode-Light 18
  .XMMMMMMMMMMMMMMMMMMMMMMMMK.   CPU: Apple M1 Max
    kMMMMMMMMMMMMMMMMMMMMMMd     GPU: Apple M1 Max
     ;KMMMMMMMWXXWMMMMMMMk.      Memory: 3233MiB / 32768MiB
       .cooc,.    .,coo:.
lillycat332 commented 2 years ago

Mine does the same when I use that script, I also just tried installing it from Nix package manager, which just froze, with no errors or anything..

tasmo commented 8 months ago

Still no solution for this issue?