RE: [eigen] Problems compiling 3.0.2 tests on VS2008

[ Thread Index | Date Index | More Archives ]

And me again:
It seems I was a bit too quick. Even without SP1 some tests don't work with the current 3.0 branch, e.g. product_notemporary_3 continues to error out with C1001 :( On the other hand, this may help to dig into the problem even without having SP1 installed?

-----Original Message-----
From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Schmidt, Michael
Sent: Dienstag, 13. September 2011 20:00
To: eigen@xxxxxxxxxxxxxxxxxxx
Subject: RE: [eigen] Problems compiling 3.0.2 tests on VS2008

Ok, some more info: I encounter the compiler errors on a fully patched/updated VS2008 Professional. On a different PC with VS2008 Pro *without* SP1, everything works fine. Hence, SP1 seems to contain an error that was not present previously. This might explain, why you can't reproduce the problem.

For SP1, the compile errors start with the following changeset:

parent: 3265:5b52476a74f8
wip: extend the gebp kernel to optimize complex and mixed products
branch: default
commit: (clean)
update: 920 new changesets (update)

Back at changeset 3264:6088d7d54604 the test compiles fine for me. For the record, this is what I do in a "Visual Studio 2008 x64 Win64 Command Prompt" (in StartMenu under Visual Studio 2008 -> Tools) to reproduce the problem on my pc:
hg clone eigen cd eigen hg up 3.0 cd ..
md eigen-build
cd eigen-build
cmake ..\eigen -G "Visual Studio 9 2008 Win64"
cd test
devenv triangular_5.vcproj /project triangular_5 /build "Release|x64"

Does this help in any way?

Best, Michael

-----Original Message-----
From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Gael Guennebaud
Sent: Dienstag, 13. September 2011 16:44
To: eigen@xxxxxxxxxxxxxxxxxxx
Subject: Re: [eigen] Problems compiling 3.0.2 tests on VS2008

On Mon, Sep 12, 2011 at 4:45 PM, Schmidt, Michael <Michael.Schmidt@xxxxxxxxxxxxxxxxxxx> wrote:
> Yes, a new release with working test suite would be nice. However, 
> after having fixed the min/max things locally (I can provide a patch 
> if you like)

Actually I already fixed this issue in the 3.0 branch a few days ago.

For the story, I have access to windows images with three different versions of MSVC but the images are too small to compile all the unit tests, so it's very tough for me to thoroughly tests MSVC compilers, whence this mistake in 3.0.2.

> I now face another problem: My Visual Studio 2008 SP1 exits with internal compiler errors for quite some tests when I try to compile them in the "Release|x64" mode, for example the triangular_5 test. Attached to this mail, you can find the output of VS 2008 for this project. Right now, I am trying to compile the full test suite again to see which tests fail. Interestingly, the triangular_5 test fails for all 3.0 releases. Does anybody else encounter such problems? In Debug mode and in 32bit mode, the tests compile fine...

I cannot reproduce the issue, but I'm calling VC from cygwin via NMake, I don't know if that can make any difference.


> Regards, Michael
> -----Original Message-----
> From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of 
> Benoit Jacob
> Sent: Sonntag, 11. September 2011 15:28
> To: eigen@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [eigen] Problems compiling 3.0.2 tests on VS2008
> We should release 3.0.3 with this fix, shouldn't we?
> Benoit
> 2011/8/30 Schmidt, Michael <Michael.Schmidt@xxxxxxxxxxxxxxxxxxx>:
>> Dear all,
>> I just tried to compile the Eigen-Tests for the 3.0.2 tag and I got 
>> compilation errors for about 100 out of the ~550 tests. I didn't read 
>> all of them, but at least the majority seems to be related to the use 
>> of min/max macros, like this one:
>> 14>..\..\eigen3.0\test\sparse_basic.cpp(36) : error C2039:
>> 'please_protect_your_max_with_parentheses' : is not a member of 'std'
>> 14>        ..\..\eigen3.0\test\sparse_basic.cpp(277) : see reference 
>> 14>to
>> function template instantiation 'void 
>> sparse_basic<Eigen::SparseMatrix<_Scalar>>(const SparseMatrixType &)'
>> being compiled
>> 14>        with
>> 14>        [
>> 14>            _Scalar=std::complex<double>,
>> 14>
>> 14>SparseMatrixType=Eigen::SparseMatrix<std::complex<double>>
>> 14>        ]
>> 14>..\..\eigen3.0\test\sparse_basic.cpp(36) : error C2065:
>> 'please_protect_your_max_with_parentheses' : undeclared identifier
>> As far as I can see, these errors are fixed in the tip version already (e.g.
>> in the aforementioned sparse_basic.cpp) but NOT in the 3.0.2 branch.
>> Is it possible that there was some kind of an incomplete merge to the 3.0 branch?
>> I'm not very familiar with Mercurial yet, so I have some difficulties 
>> follow all the commits/merges.
>> Best regards, Michael

Mail converted by MHonArc 2.6.19+