[SOLVED] Dependency failures when compiling music visualiser

If none of the more specific forums is the right place to ask

[SOLVED] Dependency failures when compiling music visualiser

Postby Lysander » 2019-12-24 22:12

Hi,

I am trying to install this visualiser:

https://github.com/dpayne/cli-visualizer

And get the following error:

Code: Select all
lysander@psychopig-xxxvii:~/Downloads/cli-visualizer-master$ ./install.sh
mkdir: cannot create directory ‘build/’: File elysander@psychopig-xxxvii:~/Downloads/cli-visualizer-master$ dpkg -S ncurses
xists
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIB_NCURSES
    linked by target "vis" in directory /home/lysander/Downloads/cli-visualizer-master


I am rather unsure of what dependencies I need though. I already have these:

Code: Select all
lysander@psychopig-xxxvii:~/Downloads/cli-visualizer-master$ dpkg -S ncurses
ncurses-base: /usr/share/doc/ncurses-base/changelog.gz
libncursesw6:amd64: /lib/x86_64-linux-gnu/libncursesw.so.6.1
ncurses-term: /usr/share/doc/ncurses-term
ncurses-term: /usr/share/doc/ncurses-term/copyright
lib64ncurses6:i386: /lib64/libncurses.so.6
ncurses-base: /usr/share/doc/ncurses-base
ncurses-bin: /usr/share/doc/ncurses-bin/copyright
ncurses-base: /usr/share/doc/ncurses-base/changelog.Debian.gz
ncurses-base: /usr/share/doc/ncurses-base/copyright
ncurses-bin: /usr/share/doc/ncurses-bin/changelog.gz
lib64ncurses6:i386: /usr/share/doc/lib64ncurses6
lib64ncursesw6:i386: /lib64/libncursesw.so.6
ncurses-bin: /usr/share/doc/ncurses-bin
ncurses-bin: /usr/share/doc/ncurses-bin/changelog.Debian.gz
libncursesw6:amd64: /lib/x86_64-linux-gnu/libncursesw.so.6
lib64ncurses6:i386: /lib64/libncurses.so.6.1
ncurses-term: /usr/share/doc/ncurses-term/changelog.Debian.gz
libncursesw6:amd64: /usr/share/doc/libncursesw6
libncurses6:amd64: /lib/x86_64-linux-gnu/libncurses.so.6
libncurses6:amd64: /lib/x86_64-linux-gnu/libncurses.so.6.1
libncurses6:amd64: /usr/share/doc/libncurses6
lib64ncursesw6:i386: /lib64/libncursesw.so.6.1
vlc-plugin-base:amd64: /usr/lib/x86_64-linux-gnu/vlc/plugins/gui/libncurses_plugin.so
ncurses-term: /usr/share/doc/ncurses-term/changelog.gz
ncurses-base: /usr/share/lintian/overrides/ncurses-base
lib64ncursesw6:i386: /usr/share/doc/lib64ncursesw6


Code: Select all
lysander@psychopig-xxxvii:~/Downloads/cli-visualizer-master$ dpkg -S fftw
libfftw3-long3:amd64: /usr/share/doc/libfftw3-long3/README.Debian
libfftw3-single3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3
libfftw3-3:amd64: /usr/share/doc/libfftw3-3/NEWS.gz
libfftw3-long3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3l_threads.so.3.5.8
libfftw3-single3:amd64: /usr/share/doc/libfftw3-single3/NEWS.gz
libfftw3-single3:amd64: /usr/share/doc/libfftw3-single3
libfftw3-single3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3
libfftw3-long3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3l_omp.so.3.5.8
libfftw3-long3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3l.so.3
libfftw3-single3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3.5.8
libfftw3-3:amd64: /usr/share/doc/libfftw3-3/README.Debian
libfftw3-3:amd64: /usr/share/doc/libfftw3-3/README
libfftw3-double3:amd64: /usr/share/doc/libfftw3-double3/README
libfftw3-single3:amd64: /usr/share/doc/libfftw3-single3/README.Debian
libfftw3-double3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3
libfftw3-double3:amd64: /usr/share/doc/libfftw3-double3/NEWS.gz
libfftw3-long3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3l.so.3.5.8
libfftw3-3:amd64: /usr/share/doc/libfftw3-3
libfftw3-double3:amd64: /usr/share/doc/libfftw3-double3/copyright
libfftw3-single3:amd64: /usr/share/doc/libfftw3-single3/README
libfftw3-long3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3l_omp.so.3
libfftw3-double3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3.5.8
libfftw3-double3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3.so.3.5.8
libfftw3-double3:amd64: /usr/share/doc/libfftw3-double3/README.Debian
libfftw3-long3:amd64: /usr/share/doc/libfftw3-long3/README
libfftw3-long3:amd64: /usr/share/doc/libfftw3-long3/copyright
libfftw3-single3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3f.so.3.5.8
libfftw3-long3:amd64: /usr/share/doc/libfftw3-long3/changelog.Debian.gz
libfftw3-double3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3.so.3
libfftw3-long3:amd64: /usr/share/doc/libfftw3-long3/NEWS.gz
libfftw3-single3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3.5.8
libfftw3-double3:amd64: /usr/share/doc/libfftw3-double3
libfftw3-long3:amd64: /usr/share/doc/libfftw3-long3
libfftw3-double3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3
libfftw3-single3:amd64: /usr/share/doc/libfftw3-single3/copyright
libfftw3-3:amd64: /usr/share/doc/libfftw3-3/copyright
libfftw3-single3:amd64: /usr/share/doc/libfftw3-single3/changelog.Debian.gz
libfftw3-single3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3f.so.3
libfftw3-long3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3l_threads.so.3
libfftw3-double3:amd64: /usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3.5.8
libfftw3-double3:amd64: /usr/share/doc/libfftw3-double3/changelog.Debian.gz
libfftw3-3:amd64: /usr/share/doc/libfftw3-3/changelog.Debian.gz


Apparently it's not enough to compile this. I need ncurses and fftw. What more do I need?
Last edited by Lysander on 2019-12-28 11:41, edited 1 time in total.
User avatar
Lysander
 
Posts: 593
Joined: 2017-02-23 10:07
Location: London

Re: Dependency failures when compiling cli music visualiser

Postby Head_on_a_Stick » 2019-12-24 23:11

Try
Code: Select all
# apt install libncurses-dev

Which allows cmake to finish but then make will complain:
Code: Select all
/home/empty/git/cli-visualizer/src/Transformer/SpectrumTransformer.h:16:10: fatal error: fftw3.h: No such file or directory
 #include <fftw3.h>
          ^~~~~~~~~

So I used
Code: Select all
empty@E485:~ $ apt-file search fftw3.h
libfftw3-dev: /usr/include/fftw3.h       
libmkl-dev: /usr/include/mkl/fftw/fftw3.h
libvigraimpex-dev: /usr/include/vigra/fftw3.hxx
empty@E485:~ $

Installing the libfftw3-dev package let everything build. Haven't tested the program though.

EDIT: generally speaking if it's a build error then you need -dev packages.
User avatar
Head_on_a_Stick
 
Posts: 11021
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Dependency failures when compiling cli music visualiser

Postby Lysander » 2019-12-25 08:01

It builds but doesn't run, unfortunately. I've set the pulse sink to 1 in the config file and run

Code: Select all
make ENABLE_PULSE=1


in /builds but it still doesn't work.

Output of pacmd list-sinks | grep -e 'name:' -e 'index'

Code: Select all
    index: 0
   name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
  * index: 1
   name: <alsa_output.pci-0000_05_01.0.analog-stereo>
User avatar
Lysander
 
Posts: 593
Joined: 2017-02-23 10:07
Location: London

Re: Dependency failures when compiling cli music visualiser

Postby Head_on_a_Stick » 2019-12-25 08:16

Lysander wrote:doesn't work

^ What does this mean, exactly? What happens when you try to run it? Are there any error messages?

EDIT: that looks like a nice program, I might try to package it up later.
User avatar
Head_on_a_Stick
 
Posts: 11021
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Dependency failures when compiling cli music visualiser

Postby Lysander » 2019-12-25 09:02

Head_on_a_Stick wrote:^ What does this mean, exactly?


Sorry, I should have known better. I mean when I type 'vis' into the terminal, I just get a blank terminal [i.e. totally blank, no error message, no prompt] where normally I would see the visualiser. So something is 'running' but not properly, since I have to 'kill' it by typing 'q'.
User avatar
Lysander
 
Posts: 593
Joined: 2017-02-23 10:07
Location: London

Re: Dependency failures when compiling cli music visualiser

Postby Head_on_a_Stick » 2019-12-26 13:58

Perhaps a running dependency issue then? Does it have it's own window? If not does this happen with all terminal emulators?
User avatar
Head_on_a_Stick
 
Posts: 11021
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Dependency failures when compiling cli music visualiser

Postby stevepusser » 2019-12-26 17:34

Did you have libpulse-dev installed when you compiled it? The Ubuntu instructions also say to use the "w5" ncurses -dev package...
You also have to enable pulseaudio in the make step:
Code: Select all
make ENABLE_PULSE=1


It really helps to read the README.md in the source file if you get build or run failures, you know. It lacks a Debian set of instructions (for shame), but you can use the ones for Ubuntu:

Code: Select all
Ubuntu

sudo apt-get install libfftw3-dev libncursesw5-dev cmake

For pulseaudio support, the pulseaudio library also needs to be installed

sudo apt-get install libpulse-dev

Pulse audio should be the easiest to setup out of all the options. In order for this to work pulseaudio must be installed and vis must be built with pulseaudio enabled. To build with pulseaudio support run make ENABLE_PULSE=1.
The MX Linux repositories: Backports galore! If we don't have something, just ask and we'll try--we like challenges. New packages: Kodi 18.5, Featherpad 0.12.0, PulseEffects 4.7.0, KeepassXC 2.5.2, SuperTuxKart 1.1, Waterfox 2019.12
User avatar
stevepusser
 
Posts: 11397
Joined: 2009-10-06 05:53

Re: Dependency failures when compiling cli music visualiser

Postby Lysander » 2019-12-28 11:41

In spite of being a Slackware user for a couple of years, I still have a lot to learn - in this case, the very simple lesson of reading the readme file properly.

Thanks, Steve. I didn't have libncursesw5-dev or libpulse-dev. I used make ENABLE_PULSE=1 and rebuilt, and now it works. Weirdly enough, I didn't have to set the sink in the vis config file.
User avatar
Lysander
 
Posts: 593
Joined: 2017-02-23 10:07
Location: London


Return to General Questions

Who is online

Users browsing this forum: No registered users and 7 guests

fashionable