cross-platform Ambisonic VST, LV2 plug-ins with variable order for use in Digital Audio Workstations like Reaper or Ardour or as Jack standalone applications
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:823:8: note: candidates are: template<class DstXprType, class SrcXprType, class Functor, class Weak> struct Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak> [with DstXprType = Eigen::Matrix<double, -1, -1>; SrcXprType = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; Functor = Eigen::internal::assign_op<double, double>; Weak = void]
struct Assignment<DstXprType, SrcXprType, Functor, Dense2Dense, Weak>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/LU:35:0,
from /usr/include/eigen3/Eigen/Dense:2,
from /usr/include/eigen3/Eigen/Eigen:1,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/ShNorm.h:27,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/SphericalHarmonic.h:24,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.h:24,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.cpp:20:
/usr/include/eigen3/Eigen/src/LU/InverseImpl.h:290:8: note: template<class DstXprType, class XprType> struct Eigen::internal::Assignment<DstXprType, Eigen::Inverse<Rhs>, Eigen::internal::assign_op<typename DstXprType::Scalar, typename SrcXprType::Scalar>, Eigen::internal::Dense2Dense> [with DstXprType = Eigen::Matrix<double, -1, -1>; XprType = Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> >]
struct Assignment<DstXprType, Inverse<XprType>, internal::assign_op<typename DstXprType::Scalar,typename XprType::Scalar>, Dense2Dense>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/QR:36:0,
from /usr/include/eigen3/Eigen/Dense:4,
from /usr/include/eigen3/Eigen/Eigen:1,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/ShNorm.h:27,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/SphericalHarmonic.h:24,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.h:24,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.cpp:20:
/usr/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h:620:8: note: template<class DstXprType, class MatrixType, class Scalar> struct Eigen::internal::Assignment<DstXprType, Eigen::Inverse<Eigen::ColPivHouseholderQR<MatrixType> >, Eigen::internal::assign_op<Scalar, Scalar>, Eigen::internal::Dense2Dense> [with DstXprType = Eigen::Matrix<double, -1, -1>; MatrixType = Eigen::Matrix<double, -1, -1>; Scalar = double]
struct Assignment<DstXprType, Inverse<ColPivHouseholderQR<MatrixType> >, internal::assign_op<Scalar,Scalar>, Dense2Dense>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:387:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /usr/include/eigen3/Eigen/Eigen:1,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/ShNorm.h:27,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/SphericalHarmonic.h:24,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.h:24,
from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.cpp:20:
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:785:49: error: incomplete type ‘Eigen::internal::Assignment<Eigen::Matrix<double, -1, -1>, Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::internal::assign_op<double, double>, Eigen::internal::Dense2Dense, void>’ used in nested name specifier
Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
ambix_directional_loudness/ambix_directional_loudness/CMakeFiles/ambix_directional_loudness_o5.dir/build.make:185: recipe for target 'ambix_directional_loudness/ambix_directional_loudness/CMakeFiles/ambix_directional_loudness_o5.dir/__/Source/PluginProcessor.cpp.o' failed
make[2]: *** [ambix_directional_loudness/ambix_directional_loudness/CMakeFiles/ambix_directional_loudness_o5.dir/__/Source/PluginProcessor.cpp.o] Error 1
make[2]: Leaving directory '/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:557: recipe for target 'ambix_directional_loudness/ambix_directional_loudness/CMakeFiles/ambix_directional_loudness_o5.dir/all' failed
make[1]: *** [ambix_directional_loudness/ambix_directional_loudness/CMakeFiles/ambix_directional_loudness_o5.dir/all] Error 2
make[1]: Leaving directory '/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/obj-x86_64-linux-gnu'
Makefile:86: recipe for target 'all' failed
make: *** [all] Error 2
$ gcc --version
gcc (Debian 6.2.0-6) 6.2.0 20161010
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ dpkg -l libeigen3-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=========================================================================-=========================================-=========================================-========================================================================================================================================================
ii libeigen3-dev 3.3~beta2-2 all lightweight C++ template library for linear algebra
$ cat /etc/debian_version
stretch/sid
thanks.
giovanni
i'm trying to build ambix lv2 plugin on my debian but i'm getting the following error.
is the 3.3 version of eigen library not fully compatible with ambix plugin?
[ 25%] Building CXX object ambix_directional_loudness/ambix_directional_loudness/CMakeFiles/ambix_directional_loudness_o5.dir//Source/PluginProcessor.cpp.o cd /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/obj-x86_64-linux-gnu/ambix_directional_loudness/ambix_directional_loudness && /usr/bin/c++ -DAMBI_ORDER=5 -DJUCE_ALSA=1 -DJUCE_JACK=1 -DJUCE_LINUX=1 -DJUCE_STANDALONE_APPLICATION=1 -DJucePlugin_Build_LV2=1 -DJucePlugin_Build_VST=1 -DLINUX=1 -DNDEBUG=1 -DNUM_FILTERS=8 -DNUM_FILTERS_VMIC=8 -DNUM_OUTPUTS=48 -DVERSION=0.2.6 -DWITH_ADVANCED_CONTROL=1 -DWITH_OSC=1 -D_NDEBUG=1 -Dambix_directional_loudness_o5_EXPORTS -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/LegendreU -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphFilter -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/Ressources -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/JUCE -I/opt/VST3_SDK -I/usr/include/eigen3 -I/usr/include/freetype2 -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/ambix_directional_loudness/JuceLibraryCode -I/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/JuceLibraryCode -DHAVE_LROUND -msse3 -fPIC -std=c++11 -o CMakeFiles/ambix_directional_loudness_o5.dir//Source/PluginProcessor.cpp.o -c /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.cpp In file included from /usr/include/eigen3/Eigen/Core:387:0, from /usr/include/eigen3/Eigen/Dense:1, from /usr/include/eigen3/Eigen/Eigen:1, from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/ShNorm.h:27, from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/common/SphericalHarmonic/SphericalHarmonic.h:24, from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.h:24, from /dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.cpp:20: /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; Func = Eigen::internal::assign_op<double, double>]’: /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:721:41: required from ‘Derived& Eigen::PlainObjectBase::_set_noalias(const Eigen::DenseBase&) [with OtherDerived = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; Derived = Eigen::Matrix<double, -1, -1>]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:531:7: required from ‘Eigen::PlainObjectBase::PlainObjectBase(const Eigen::DenseBase&) [with OtherDerived = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; Derived = Eigen::Matrix<double, -1, -1>]’
/usr/include/eigen3/Eigen/src/Core/Matrix.h:379:29: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase&) [with OtherDerived = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:464:103: required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::scaleAndAddTo(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; Rhs = Eigen::Transpose<Eigen::Matrix<double, -1, -1> >; Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::Scalar = double]’
/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:435:20: required from ‘static void Eigen::internal::generic_product_impl<Lhs, Rhs, Eigen::DenseShape, Eigen::DenseShape, 8>::evalTo(Dst&, const Lhs&, const Rhs&) [with Dst = Eigen::Matrix<double, -1, -1>; Lhs = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >; Rhs = Eigen::Transpose<Eigen::Matrix<double, -1, -1> >]’
/usr/include/eigen3/Eigen/src/Core/ProductEvaluators.h:144:43: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/eigen3/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::Transpose<Eigen::Matrix<double, -1, -1> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:740:48: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_ifEigen::internal::evaluator_assumealiasing<Src::value, void>::type) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::Transpose<Eigen::Matrix<double, -1, -1> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_ifEigen::internal::evaluator_assumealiasing<Src::value, void>::type = void*]’
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:726:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Product<Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::Transpose<Eigen::Matrix<double, -1, -1> >, 0>]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:703:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::Transpose<Eigen::Matrix<double, -1, -1> >, 0>; Derived = Eigen::Matrix<double, -1, -1>]’
/usr/include/eigen3/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::Transpose<Eigen::Matrix<double, -1, -1> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’
/dpkgs/music/ambisonic/ambix-0.2.6+594e98e/ambix_directional_loudness/Source/PluginProcessor.cpp:459:111: required from here
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:785:49: error: ambiguous template instantiation for ‘struct Eigen::internal::Assignment<Eigen::Matrix<double, -1, -1>, Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1> > >, Eigen::internal::assign_op<double, double>, Eigen::internal::Dense2Dense, void>’
Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);