This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Eigen with gcc 3.3.5

Tags: None
(comma "," separated)
littlemartin
Registered Member
Posts
3
Karma
0

Eigen with gcc 3.3.5

Mon May 04, 2009 6:03 pm
Hi folks,

since I am currently bound to gcc 3.3.5 (due to a development for specific hardware), I was very glad to read that Eigen is supposed to run on gcc from 3.3 on.

However, even with the simplest example program I keep getting quite some of compiler errors like e.g. the following ones:

eigen-2.0.1/Eigen/src/Core/Part.h: In member function `void Eigen::Part::swap(const Eigen::MatrixBase&) ':
eigen-2.0.1/Eigen/src/Core/Part.h:123: error: `SwapWrapper' specified as declarator-id
eigen-2.0.1/Eigen/src/Core/Part.h:123: error: multiple declarations `int' and `Eigen::Part, Mode>'

Does anyone know if there is a workaround?

With gcc 4 everything is perfect...


Thanks in advance,

Martin
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS

RE: Eigen with gcc 3.3.5

Mon May 04, 2009 7:08 pm
Indeed, we have some issues with the 3.3 branch. I can understand it is not always possible to switch to GCC 4, but about the 3.4 version which works fine with Eigen ?
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS

RE: Eigen with gcc 3.3.5

Wed May 06, 2009 9:29 am
UPDATE: finally I managed to fix all issues with gcc 3.3 !
littlemartin
Registered Member
Posts
3
Karma
0

RE: Eigen with gcc 3.3.5

Thu May 14, 2009 9:43 am
ggael wrote:UPDATE: finally I managed to fix all issues with gcc 3.3 !

Thanks a lot - all the error messages I got before have magically disappeared now :shade:

However... could it be that gcc 3.3 still has a problem with __attribute__ ((aligned(16)))??
At least for me it seems to be a pure matter of chance whether my Eigen::Vector3d objects get aligned to 128 bit addresses or not (mostly they don't...).
I'm simply creating them on the heap, they're not inside any stucts or stl containers and I'm not using calls by value.
User avatar
bjacob
Registered Member
Posts
658
Karma
3

RE: Eigen with gcc 3.3.5

Thu May 14, 2009 11:23 am
No problem, that's normal. Eigen only align fixed-size objects whose size is a multiple of 128 bits, otherwise it would be wasting a lot of memory. So Vector2d is aligned, Vector4d too, but not Vector3d.

littlemartin wrote:However... could it be that gcc 3.3 still has a problem with __attribute__ ((aligned(16)))??
At least for me it seems to be a pure matter of chance whether my Eigen::Vector3d objects get aligned to 128 bit addresses or not (mostly they don't...).
I'm simply creating them on the heap, they're not inside any stucts or stl containers and I'm not using calls by value.


Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list!


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]