Re: [eigen] Problem with 3.4 rc1

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Thanks Antonio and Jan,

I have already hit the #define Success problem sometime in the past -- so I was able to #undef Status in the same place and everything is working fine now.

In addition to a better error message (which may be out of your control), perhaps Eigen could add a simple test program in the unit tests that builds against XWindows (as it seems to be a huge offender) -- and perhaps a page of documentation about working with XWindows to help resolve these problems.

Thanks for everything,

Rob


On Wed, Apr 21, 2021 at 8:41 AM Dijk, Jan van <J.v.Dijk@xxxxxx> wrote:
Dear Antonio, Rob,

Indeed, Xwindows.h (on my OpenSuSE system) has a #define Status int

It seems reasonable to solve this the same as issue 253: let Eigen produce an understandable #error if Status is already defined. See https://gitlab.com/libeigen/eigen/-/issues/253

Regards, Jan.

________________________________________
From: Antonio Sanchez <cantonios@xxxxxxxxxx>
Sent: Wednesday, April 21, 2021 5:13 PM
To: eigen@xxxxxxxxxxxxxxxxxxx
Subject: Re: [eigen] Problem with 3.4 rc1

My best guess is that somewhere there is a

#define Status int

somewhere in your code, which is then conflicting with the enum value "Status = 3", which is being converted to "int = 3" by the preprocessor.

You may need to undef it before including Eigen.

On Tue, Apr 20, 2021 at 10:48 PM Rob McDonald <rob.a.mcdonald@xxxxxxxxx<mailto:rob.a.mcdonald@xxxxxxxxx>> wrote:
I'm trying 3.4 rc1 on my program.  Everything seems to work fine on Windows and MacOS.  However, there seems to be some sort of conflict when I try to build on Linux.

We are currently using 3.3.7 and everything works fine.  I suppose I could try 3.3.9 if that would be helpful.

The problems only crop up in the graphics part of my program (which does not use Eigen intensively, it just gets included relatively incidentally).  My program can also be compiled in a non-graphical version (no GUI, OpenGL, or XWindows libraries allowed at all) - and that works fine.  I use FLTK as a cross-platform GUI library.  The most significant difference on Linux is the use of X Windows.

I've attached the gcc error log from trying to compile one file -- sorry, it is 884 lines long...

My gut says something is getting #defined that then gives Eigen fits.  However, I can't find anything that looks wrong in the code the messages are pointing to.

Any help tracking this down will be very much appreciated.

Rob








Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/