Re: [eigen] Compilation errors introduced by recent changes. (aligned stl types & MatrixType rename) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Compilation errors introduced by recent changes. (aligned stl types & MatrixType rename)
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Thu, 22 Apr 2010 07:06:58 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type :content-transfer-encoding; bh=ENG/vSxcZOhWwGBrs8Eg2pE3ZKlOfTm0cNNFjyDP+Po=; b=dDcJq1pE+4s9N7cQ/Q/MBcqMudbbPXFoWcfV6u6/H1RKb3/+wBrp5yzavyFXc2l0kf NYuZyTeDITjIkCteIE8ILZq0KGh4cjyxsYGc0+QeR7zarBrWf0XRe9kv2Ps5KFuTuh0i 1BLmXJpCVxjsTVx16rAFTUnS0oscS6L8dGUts=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=h9neIVUrD9Q1j+k3TdOuAFeM8Qf2DNtD2WOTniTPtD9545+7Uk2t48EMBddfIXiiEi s3vx7S1i17Iwv2LEU2DRoMhtDZ8iaTww/lyQnZglK81ZSGlPSGQ4HxCOZl8U+2h2e50U Shh3iRBiagAv2LwFE8qruWA/g1zR/2505oS3w=
2010/4/22 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> It probably has to do with the include order. Only Constants.h is
> included before ForwardDeclarations.h. This is a whole different story
> for Assign.h.
Feel free to play with the #include order and/or to move that part of
ForwardDeclarations.h to a different place, if that helps....
Benoit
>
> Though you are right. I am also getting more and more puzzled. In
> particular since now VS 2008 users are affected and it confuses my why
> we are seeing this just as of now. If I find time, I might try a
> bisection to find the erroneous commit.
>
> - Hauke
>
> On Thu, Apr 22, 2010 at 4:48 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>> What I don't understand is that this kind of construct, setting the
>> default value for a template param as an expression depending on other
>> template params via templates, is not isolated in eigen, we had lots
>> of that already in 2.0, for example in Assign.h, ei_assign_impl:
>>
>> template<typename Derived1, typename Derived2,
>> int Traversal = ei_assign_traits<Derived1, Derived2>::Traversal,
>> int Unrolling = ei_assign_traits<Derived1, Derived2>::Unrolling>
>> struct ei_assign_impl;
>>
>> So why is this one failing?
>>
>> Just trying to understand how to construct a work-around.
>>
>> Benoit
>>
>> 2010/4/21 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>>> Guys, I am sorry and afraid that no Visual Studio system seems to be
>>> able to compile Eigen's devel branch at the moment. I already filed a
>>> bug report yesterday night.
>>>
>>> It is located here (http://tinyurl.com/y2onuvg), reproducible and
>>> currently under investigation. I have already spent a lot of time to
>>> find a workaround - Benoit did as well, and we have no solution at the
>>> moment.
>>>
>>> You can verify that it is the bug I submitted by modifying the file
>>>
>>> Eigen/src/Core/util/ForwardDeclarations.h
>>>
>>> by changing the Block forward declaration to
>>>
>>> template<typename MatrixType, int BlockRows=Dynamic, int BlockCols=Dynamic,
>>> int _DirectAccessStatus = HasDirectAccess
>>> /*ei_block_direct_access_status<MatrixType>::ret*/> class Block;
>>>
>>> This is no (!) solution! It is just a way to compile the most trivial
>>> Eigen code based on matrices.
>>>
>>> The sample code from the bug report does not compile with VS 2010 and
>>> my assumption is that it does neither with VS 2008.
>>>
>>> We have to wait for Microsoft or some smart person to come up with a
>>> fix for this serious show stopper.
>>>
>>> - Hauke
>>>
>>> On Wed, Apr 21, 2010 at 7:03 PM, Ilya Baran <baran37@xxxxxxxxx> wrote:
>>>> Hi,
>>>>
>>>> I'm getting this error on MSVC 2008 and MSVC 2010, so I don't think
>>>> it's an MSVC 2010 bug.
>>>>
>>>> Thanks,
>>>>
>>>> -Ilya
>>>>
>>>> On Wed, Apr 21, 2010 at 12:55 PM, Eamon Nerbonne
>>>> <eamon.nerbonne@xxxxxxxxx> wrote:
>>>>> On Wed, Apr 21, 2010 at 18:30, Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
>>>>> wrote:
>>>>>>
>>>>>> Ok, having that said, when you reported the issue even this (correct code)
>>>>>>
>>>>>> std::vector<Vector2d, Eigen::aligned_allocator<Vector2d> > stlvec(10,
>>>>>> Vector2d());
>>>>>>
>>>>>> failed which I fixed now.
>>>>>
>>>>> Oops - I see my example was a little hasty indeed.
>>>>>
>>>>>>
>>>>>> If you hit any other issues please let me know.
>>>>>>
>>>>>
>>>>> Well, I still can't compile anything including eigen after Benoit's
>>>>> changeset labelled "renaming (MatrixType ---> whatever appropriate) ...."
>>>>> from the 18th - since you haven't run into it, I take it that this
>>>>> compilation error is due to a bug in the RC that's been fixed in 2010 RTM?
>>>>>
>>>>> Even the following won't compile in the latest version:
>>>>> #include "Eigen/Core"
>>>>> int main(){ return 0;}
>>>>>
>>>>> That results in 11 "error C2065: 'MatrixType' : undeclared identifier"
>>>>> errors.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>