Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

building on arch linux --with-gaia #981

Closed
vredesbyyrd opened this issue May 10, 2020 · 4 comments
Closed

building on arch linux --with-gaia #981

vredesbyyrd opened this issue May 10, 2020 · 4 comments

Comments

@vredesbyyrd
Copy link

vredesbyyrd commented May 10, 2020

Hi,

I am trying to compile essentia with gaia support. On arch linux qt4 is no longer supported, so I built gaia from the qt5 branch, although I do not know if that branch has conflicts with essentia master.

Any thoughts on compiling essentia + gaia on arch/qt5 would be greatly appreciated.

Build command:

  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./waf configure  \
        --mode=release \
        --with-gaia \
        --with-example=streaming_extractor_music,streaming_extractor_music_svm   \
        --with-python    \
        --python=$(which python)
    ./waf

Output:

==> Starting build()...
/home/clu/build/essentia-git/src/essentia/wscript:302: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if ctx.env.CXX_NAME is not "clang":
Setting top to                           : /home/clu/build/essentia-git/src/essentia 
Setting out to                           : /home/clu/build/essentia-git/src/essentia/build 
→ configuring the project in /home/clu/build/essentia-git/src/essentia
→ Building in release mode
Checking for 'g++' (C++ compiler)        : /usr/bin/g++ 
Checking for 'gcc' (C compiler)          : /usr/bin/gcc 
→ Searching *.pc pkg-config files for dependencies in /home/clu/.local/usr/local/lib/pkgconfig and default paths
Checking for program 'pkg-config'        : /usr/bin/pkg-config 
Checking for 'eigen3'                    : yes 
Checking for 'libavcodec' >= 55.34.1     : yes 
Checking for 'libavformat'               : yes 
Checking for 'libavutil'                 : yes 
Checking for 'libavresample'             : not found 
Checking for 'samplerate'                : yes 
Checking for 'taglib' >= 1.9             : yes 
Checking for 'yaml-0.1'                  : yes 
Checking for 'fftw3f'                    : yes 
Checking for 'libchromaprint'            : yes 
Checking for 'gaia2'                     : yes 
Checking for 'gcc' (C compiler)          : /usr/bin/gcc 
Checking for program 'python'            : /usr/bin/python 
Checking for python version >= 2.7.0     : 3.8.2 
→ Configuring for python3
python-config                            : /usr/bin/python-config 
Asking python-config for pyext '--cflags --libs --ldflags' flags : yes 
Testing pyext configuration                                      : yes 
Checking for python module 'numpy'                               : 1.18.4 

================================ CONFIGURATION SUMMARY ================================
- using FFTW for FFT

- fftw detected!
- FFmpeg (or LibAv on debian/ubuntu) seems to be missing.
  The following algorithms will be ignored: ['AudioLoader', 'MonoLoader', 'EqloudLoader', 'EasyLoader', 'MonoWriter', 'AudioWriter']

- libsamplerate (SRC) detected!
  The following algorithms will be included: ['Resample']

- TagLib detected!
  The following algorithms will be included: ['MetadataReader', 'MusicExtractor', 'FreesoundExtractor']

- libyaml detected!
  The following algorithms will be included: ['YamlInput', 'YamlOutput']

- Gaia2 detected!
  The following algorithms will be included: ['GaiaTransform', 'MusicExtractorSVM']

- Chromaprint detected!
  The following algorithms will be included: ['Chromaprinter']

- Essentia is configured without Tensorflow.
  The following algorithms will be ignored: ['TensorflowPredict', 'TensorflowPredictMusiCNN', 'TensorflowPredictVGGish']
- Compiling 56 examples
  standard_beatsmarker, standard_fadedetection, standard_mfcc, standard_onsetrate, standard_pitchdemo, standard_rhythmtransform, standard_spectralcontrast, standard_vibrato, standard_harmonicmodel, standard_hpsmodel, standard_hprmodel, standard_predominantmask, standard_sinemodel, standard_sinesubtraction, standard_sprmodel, standard_spsmodel, standard_stft, standard_stochasticmodel, standard_chromaprinter, standard_pca, standard_discontinuitydetector, standard_extractor_la-cupula, standard_gapsdetector, standard_humdetector, standard_loudnessebur128_double_input, standard_saturationdetector, standard_snr, standard_welch, streaming_humdetector, standard_crosssimilaritymatrix, standard_chromacrosssimilarity, standard_coversongsimilarity, streaming_beatsmarker, streaming_beattracker_multifeature_mirex2013, streaming_key, streaming_gfcc, streaming_md5, streaming_mfcc, streaming_spectrogram, streaming_rhythmextractor_multifeature, streaming_onsetrate, streaming_panning, streaming_pitchyinfft, streaming_predominantpitchmelodia, streaming_chromacrosssimilarity, streaming_coversongsimilarity, streaming_stft, streaming_tuningfrequency, streaming_vibrato, streaming_tensorflowpredict, streaming_yinprobabilistic, streaming_musicnn_predict, streaming_vggish_predict, streaming_extractor_music, streaming_extractor_freesound, streaming_extractor_music_svm
Building all the algorithms
Ignoring the following algorithms: AudioLoader, FFTAComplex, IFFTAComplex, AudioWriter, FFTK, IFFTKComplex, TensorflowPredict, MonoLoader, EqloudLoader, IFFTA, FFTKComplex, FFTA, TensorflowPredictVGGish, TensorflowPredictMusiCNN, EasyLoader, MonoWriter, IFFTK
Created algorithms registration file

---------------------------------------------------------------------------------------
- Building shared library
- Building Python extension
- Building examples
=======================================================================================
'configure' finished successfully (0.824s)
/home/clu/build/essentia-git/src/essentia/wscript:302: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if ctx.env.CXX_NAME is not "clang":
Waf: Entering directory `/home/clu/build/essentia-git/src/essentia/build'
→ building from /home/clu/build/essentia-git/src/essentia
→ building from /home/clu/build/essentia-git/src/essentia/src
Building all the algorithms
Ignoring the following algorithms: IFFTAComplex, MonoLoader, IFFTA, TensorflowPredictMusiCNN, EqloudLoader, FFTKComplex, FFTAComplex, IFFTK, MonoWriter, FFTA, AudioLoader, TensorflowPredictVGGish, TensorflowPredict, AudioWriter, FFTK, EasyLoader, IFFTKComplex
Created algorithms registration file
→ building from /home/clu/build/essentia-git/src/essentia/src/examples
→ building from /home/clu/build/essentia-git/src/essentia/src/python
[  7/293] Compiling src/essentia/connector.cpp
[  9/293] Compiling src/algorithms/standard/stereodemuxer.cpp
[ 10/293] Compiling src/algorithms/tonal/dissonance.cpp
[ 11/293] Compiling src/3rdparty/cephes/bessel/iv.cpp
[146/293] Compiling src/3rdparty/cephes/bessel/gamma.cpp
[147/293] Compiling src/essentia/pool.cpp
[148/293] Compiling src/algorithms/spectral/triangularbarkbands.cpp
[149/293] Compiling src/algorithms/essentia_algorithms_reg.cpp
In file included from ../src/algorithms/essentia_algorithms_reg.cpp:74:
../src/algorithms/highlevel/gaiatransform.h:23:10: fatal error: gaia2/transformation.h: No such file or directory
   23 | #include <gaia2/transformation.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Waf: Leaving directory `/home/clu/build/essentia-git/src/essentia/build'
@vredesbyyrd
Copy link
Author

vredesbyyrd commented May 10, 2020

Well, installing gaia to /usr/local/lib/ got the build much closer - but it failed on linking.

/usr/bin/ld: cannot find -lQtCore
collect2: error: ld returned 1 exit status

full output

@vredesbyyrd
Copy link
Author

I decided just to build qt4 from source and install it alongside qt5, so I suppose I'll close this issue.

@dbogdanov
Copy link
Member

We'll work on updating Essentia accordingly once the MTG/gaia#92 is finished.

@vredesbyyrd
Copy link
Author

Thanks for the info.

Yesterday, by changing:

Libs: -L${libdir} -L${qtlibdir} -lgaia2 -lQtCore -lyaml
to
Libs: -L${libdir} -L${qtlibdir} -lgaia2 -lQt5Core -lyaml
in giai2.pc

I was able to get Essentia to build with qt5 and --with-gaia. But I could not get it to compile the examples.

--with-example=streaming_extractor_music,streaming_extractor_music_svm

I don't have access to the error messages anymore, but it looked like some conflicts with qt5, understandably.

I'll keep an eye on future updates. Thanks for all your work on this awesome project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants