New user self-registration is disabled due to spam. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.
Before reporting a bug, please make sure that your Eigen version is up-to-date!
Bug 1248 - Eigen default branch fails to compile on Visual Studio 2013/2015 Update 3 with error C2752
Summary: Eigen default branch fails to compile on Visual Studio 2013/2015 Update 3 wit...
Status: RESOLVED FIXED
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - general (show other bugs)
Version: 3.3 (current stable)
Hardware: x86 - 32-bit Windows
: Normal Compilation Problem
Assignee: Nobody
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 3.3
  Show dependency treegraph
 
Reported: 2016-06-27 22:29 UTC by Silvio Traversaro
Modified: 2016-07-08 11:13 UTC (History)
3 users (show)



Attachments

Description Silvio Traversaro 2016-06-27 22:29:01 UTC
I have a project that I regularly compile against Eigen default branch, that recently has stopped compiling on Visual Studio 2013 with this error: 

~~~
"C:\projects\idyntree\build\iDynTree.sln" (default target) (1) ->
"C:\projects\idyntree\build\ALL_BUILD.vcxproj.metaproj" (default target) (2) ->
"C:\projects\idyntree\build\src\core\tests\ArticulatedBodyInertiaUnitTest.vcxproj.metaproj" (default target) (3) ->
"C:\projects\idyntree\build\src\core\idyntree-core.vcxproj.metaproj" (default target) (5) ->
"C:\projects\idyntree\build\src\core\idyntree-core.vcxproj" (default target) (6) ->
(ClCompile target) -> 
  c:\program files (x86)\eigen\include\eigen3\eigen\src/Core/AssignEvaluator.h(784): error C2752: 'Eigen::internal::Assignment<ActualDstTypeCleaned,Src,Func,Eigen::internal::AssignmentKind<Eigen::DenseShape,Eigen::DenseShape>::Kind,double>' : more than one partial specialization matches the template argument list [C:\projects\idyntree\build\src\core\idyntree-core.vcxproj]
  c:\program files (x86)\eigen\include\eigen3\eigen\src/Core/AssignEvaluator.h(784): error C2027: use of undefined type 'Eigen::internal::Assignment<ActualDstTypeCleaned,Src,Func,Eigen::internal::AssignmentKind<Eigen::DenseShape,Eigen::DenseShape>::Kind,double>' [C:\projects\idyntree\build\src\core\idyntree-core.vcxproj]
  c:\program files (x86)\eigen\include\eigen3\eigen\src/Core/AssignEvaluator.h(784): error C3861: 'run': identifier not found [C:\projects\idyntree\build\src\core\idyntree-core.vcxproj]
    2 Warning(s)
    3 Error(s)
~~~

For the complete compilation log, see https://ci.appveyor.com/project/robotology/idyntree/build/1.0.438/job/2bc2w78doofqidl1#L1182 . 
I tried to compile the Eigen test suite, but everything seems fine for the tests. 

The same project compiles fine on Visual Studio 2015 . 

Given that the compilation stopped working ~4 days ago, I think that the problem could be related to this commit : https://bitbucket.org/eigen/eigen/commits/255869aaeacf697843e2b2bef165d4cd8d96c6cf  .

Of from this report is not easy to identify the problem, I can work on a more self-contained example of the problem.
Comment 1 Silvio Traversaro 2016-06-29 22:39:57 UTC
Update: I investigated a bit the issue, and apparently the failure is happening only in the recent days was due to the fact that AppVeyor recently updated to Visual Studio 2013/2015 Update 3. 

Since this update, the error C2752 is reported (even if the Visual Studio documentation does not say anything in particular for this error: https://msdn.microsoft.com/en-us/library/z2ye41d8.aspx) .
Comment 2 Gael Guennebaud 2016-07-06 12:14:54 UTC
I've fixed several issues with MSVC, please updated to latest revision and let us know if everything is working again.
Comment 3 Silvio Traversaro 2016-07-08 11:13:28 UTC
Thanks a lot, with the latest revision in the default branch everything is working fine again.

Note You need to log in before you can comment on or make changes to this bug.