This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
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: 2019-12-04 15:57 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.
Comment 4 Nobody 2019-12-04 15:57:31 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1248.

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