With the aforementioned patch in place, opensurgsim builds successfully with eigen3 3.3~beta1-2. Unfortunately, it fails to build with eigen3 3.3~beta2-1 currently in testing with the following message (hopefully the relevant bits):

[ 99%] Building CXX object SurgSim/Physics/UnitTests/CMakeFiles/SurgSimPhysicsTest.dir/VirtualToolCouplerTest.cpp.o cd /«PKGBUILDDIR»/obj-x86_64-linux-gnu/SurgSim/Physics/UnitTests && /usr/bin/x86_64-linux-gnu-g++ -DBOOST_ALL_DYN_LINK -D_POSIX_C_SOURCE=200809L -I/«PKGBUILDDIR» -I/usr/include/eigen3 -I/usr/lib/x86_64-linux-gnu/cmake/yaml-cpp/../../../../include -I/usr/src/gtest/include -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -std=gnu++11 -o CMakeFiles/SurgSimPhysicsTest.dir/VirtualToolCouplerTest.cpp.o -c /«PKGBUILDDIR»/SurgSim/Physics/UnitTests/VirtualToolCouplerTest.cpp
In file included from /usr/include/eigen3/Eigen/Core:395:0,
                 from /«PKGBUILDDIR»/SurgSim/Math/Vector.h:24,
from /«PKGBUILDDIR»/SurgSim/DataStructures/IndexedLocalCoordinate.h:19,
                 from /«PKGBUILDDIR»/SurgSim/DataStructures/Location.h:21,
from /«PKGBUILDDIR»/SurgSim/Physics/UnitTests/RigidRepresentationTest.cpp:20:
<snip>
/«PKGBUILDDIR»/SurgSim/Physics/UnitTests/RigidRepresentationTest.cpp:238:68: required from here /usr/include/eigen3/Eigen/src/Core/util/BlasUtil.h:354:8: error: ambiguous template instantiation for ‘struct Eigen::internal::blas_traits<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 6, 6, 1> >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 6, 1> > > >’
 struct blas_traits<const T>
        ^~~~~~~~~~~~~~~~~~~~

In file included from /usr/include/eigen3/Eigen/Core:420:0,
                 from /«PKGBUILDDIR»/SurgSim/Math/Vector.h:24,
from /«PKGBUILDDIR»/SurgSim/DataStructures/IndexedLocalCoordinate.h:19,
                 from /«PKGBUILDDIR»/SurgSim/DataStructures/Location.h:21,
from /«PKGBUILDDIR»/SurgSim/Physics/UnitTests/RigidRepresentationTest.cpp:20:
<snip>
/«PKGBUILDDIR»/SurgSim/Physics/UnitTests/RigidRepresentationTest.cpp:238:68: required from here /usr/include/eigen3/Eigen/src/Core/Transpose.h:330:19: error: ‘IsTransposed’ is not a member of ‘Eigen::internal::blas_traits<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 6, 6, 1> >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 6, 1> > > >’ enum { ret = bool(blas_traits<DerivedA>::IsTransposed) != DestIsTransposed
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to