-
Notifications
You must be signed in to change notification settings - Fork 248
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
Eigen compilation errors on Ubuntu 16.10 #16
Comments
Hi, This looks like all Eigen errors, nothing to do in particular with 4dface or eos. It looks like your 4dface is using the eos in external/ so all should be fine. Can you confirm that you cloned this repo with all submodules and that you did not make any modifications to it? I'm compiling eos regularly in Ubuntu 16.04 so I really don't get why you're getting errors. It seems in fact they happen at the first point where Eigen is included, |
I did install the sub modules (I hadn't at first and immediately had
problems in landmarks.hpp).
I rebuilt the system with 14.04 and all was right with the world...
I was using 16.10 if that makes any difference. As I look at it - they all
use different versions of that package...
I may try 16.04 later and will let you know.
…On Mar 28, 2017 17:25, "Patrik Huber" ***@***.***> wrote:
Hi,
This looks like all Eigen errors, nothing to do in particular with 4dface
or eos. It looks like your 4dface is using the eos in external/ so all
should be fine. Can you confirm that you cloned this repo with all
submodules and that you did not many any modifications to it?
I'm compiling eos regularly in Ubuntu 16.04 so I really don't get why
you're getting errors. It seems in fact they happen at the first point
where Eigen is included, blendshape_fitting.hpp line 2, as can be seen in
your error message. So it all looks like a problem with Eigen.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#16 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHdmzbhkFJzdhk5xiS3fJYjSeq-_REaNks5rqXrYgaJpZM4Mr2yc>
.
|
I see, I don't think I've ever tried 16.10! So it's indeed possible that there is a weird problem with Eigen there. On 16.04, it should really be fine. Actually, if you plan to do a project or any serious research or development, I recommend you clone and build the eos repository separately, and work with that. The newest eos version comes with a version of Eigen included, which should work on any system. 4dface is just a simple demo, and it hasn't been updated in a few months. |
FWIW - it worked fine in 16.04 If I have a chance to go to 16.10 later, I will get EOS and try it separately. But it won't be for a while since... it works :) |
Ok, cool, thanks for reporting back! |
Got a bunch of errors trying to compile. Any ideas?
[ 50%] Building CXX object CMakeFiles/4dface.dir/apps/4dface.cpp.o
In file included from /usr/include/eigen3/Eigen/Core:387:0,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/blendshape_fitting.hpp:27,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/fitting.hpp:32,
from /home/vess/code/3d/experiments/4dface/4dface/apps/4dface.cpp:24:
/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<float, -1, -1, 1>; Src = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<float, -1, -1, 1> > >; Func = Eigen::internal::assign_op<float, float>]’:
/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<float, -1, -1, 1> > >; Derived = Eigen::Matrix<float, -1, -1, 1>]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:531:19: required from ‘Eigen::PlainObjectBase::PlainObjectBase(const Eigen::DenseBase&) [with OtherDerived = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<float, -1, -1, 1> > >; Derived = Eigen::Matrix<float, -1, -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<float, -1, -1, 1> > >; _Scalar = float; int _Rows = -1; int _Cols = -1; int _Options = 1; int _MaxRows = -1; int _MaxCols = -1]’
/home/vess/code/3d/experiments/4dface/4dface/external/superviseddescent/include/superviseddescent/regressors.hpp:294:53: required from here
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:785:49: error: ambiguous template instantiation for ‘struct Eigen::internal::Assignment<Eigen::Matrix<float, -1, -1, 1>, Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<float, -1, -1, 1> > >, Eigen::internal::assign_op<float, float>, Eigen::internal::Dense2Dense, void>’
Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
^
/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<float, -1, -1, 1>; SrcXprType = Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<float, -1, -1, 1> > >; Functor = Eigen::internal::assign_op<float, float>; 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 /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/closest_edge_fitting.hpp:37,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/fitting.hpp:34,
from /home/vess/code/3d/experiments/4dface/4dface/apps/4dface.cpp:24:
/usr/include/eigen3/Eigen/src/LU/InverseImpl.h:290:8: note: template<class DstXprType, class XprType> struct Eigen::internal::Assignment<DstXprType, Eigen::Inverse, Eigen::internal::assign_op<typename DstXprType::Scalar, typename SrcXprType::Scalar>, Eigen::internal::Dense2Dense> [with DstXprType = Eigen::Matrix<float, -1, -1, 1>; XprType = Eigen::ColPivHouseholderQR<Eigen::Matrix<float, -1, -1, 1> >]
struct Assignment<DstXprType, Inverse, internal::assign_op<typename Ds
^
In file included from /usr/include/eigen3/Eigen/QR:36:0,
from /usr/include/eigen3/Eigen/Dense:4,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/closest_edge_fitting.hpp:37,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/fitting.hpp:34,
from /home/vess/code/3d/experiments/4dface/4dface/apps/4dface.cpp:24:
/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 >, Eigen::internal::assign_op<Scalar, Scalar>, Eigen::internal::Dense2Dense> [with DstXprType = Eigen::Matrix<float, -1, -1, 1>; MatrixType = Eigen::Matrix<float, -1, -1, 1>; Scalar = float]
struct Assignment<DstXprType, Inverse<ColPivHouseholderQR >, intern
^
In file included from /usr/include/eigen3/Eigen/Core:387:0,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/blendshape_fitting.hpp:27,
from /home/vess/code/3d/experiments/4dface/4dface/external/eos/include/eos/fitting/fitting.hpp:32,
from /home/vess/code/3d/experiments/4dface/4dface/apps/4dface.cpp:24:
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:785:49: error: incomplete type ‘Eigen::internal::Assignment<Eigen::Matrix<float, -1, -1, 1>, Eigen::Inverse<Eigen::ColPivHouseholderQR<Eigen::Matrix<float, -1, -1, 1> > >, Eigen::internal::assign_op<float, float>, Eigen::internal::Dense2Dense, void>’ used in nested name specifier
Assignment<ActualDstTypeCleaned,Src,Func>::run(actualDst, src, func);
^
CMakeFiles/4dface.dir/build.make:62: recipe for target 'CMakeFiles/4dface.dir/apps/4dface.cpp.o' failed
make[2]: *** [CMakeFiles/4dface.dir/apps/4dface.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/4dface.dir/all' failed
make[1]: *** [CMakeFiles/4dface.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
The text was updated successfully, but these errors were encountered: