This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
Bug 1324 - Compilation error(s) when compiling 3.3rc1 with CUDA 8 on Windows
Summary: Compilation error(s) when compiling 3.3rc1 with CUDA 8 on Windows
Status: RESOLVED FIXED
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - general (show other bugs)
Version: 3.3 (current stable)
Hardware: GPU (CUDA) Windows
: Normal Compilation Problem
Assignee: Nobody
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 3.3
  Show dependency treegraph
 
Reported: 2016-10-09 14:07 UTC by Avi Ginsburg
Modified: 2019-12-04 16:24 UTC (History)
3 users (show)



Attachments

Description Avi Ginsburg 2016-10-09 14:07:24 UTC
I was excited when I saw that CUDA 7.5 (with Visual Studio 2013/15) compiled Eigen 3.3rc1 w/o errors (just a bunch of warnings). When testing with CUDA 8.0 and VS2015 my hopes were wiped out. It seems that some of the errors from [bug 735](http://eigen.tuxfamily.org/bz/show_bug.cgi?id=735) are back. I get

  eigen\src/Core/Ref.h(89): error : "operator=" has already been declared in the current scope
  eigen\src/Core/Block.h(111): error : "operator=" has already been declared in the current scope

when compiling 

  // kernel.cu
  #include "Eigen3.3rc1/Eigen/Core"

with VS2015 I get two errors:

eigen3.3rc1\eigen\src/Core/Ref.h(89): error: "operator=" has already been declared in the current scope
          detected during instantiation of class "Eigen::RefBase<Derived> [with
Derived=Eigen::Ref<PlainObjectType, Options, StrideType>]"
(191): here

c:\include\eigen3.3rc1\eigen\src/Core/Block.h(111): error: "operator=" has already been declared in the current scope
          detected during instantiation of class "Eigen::Block<XprType, BlockRow
s, BlockCols, InnerPanel> [with XprType=VectorType, BlockRows=<expression>, Bloc
kCols=<expression>, InnerPanel=false]"
c:\include\eigen3.3rc1\eigen\src/Core/VectorBlock.h(57): here

Compiling the same with VS2013 (CUDA 8) does *not* result in these errors (works fine).
Comment 1 Gael Guennebaud 2016-10-12 12:22:42 UTC
Could you help us finding a workaround?

To this end, have a look at file Eigen/src/Core/util/Macros.h, lines 804-821,

and figure out which version is working for you?

thanks.
Comment 2 Avi Ginsburg 2016-10-13 08:53:47 UTC
I've created a patch that I haven't thoroughly tested (works on my current project), but have submitted as a pull request (https://bitbucket.org/eigen/eigen/pull-requests/236).
Comment 3 Gael Guennebaud 2016-10-13 13:12:04 UTC
Merged: https://bitbucket.org/eigen/eigen/commits/59db0512e12d
Comment 4 Nobody 2019-12-04 16:24:49 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/1324.

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