Re: [eigen] Eigen3 bug?

[ Thread Index | Date Index | More Archives ]

SuiteSparse_long  works with compilation but throws an error later. This error however is not linked to Eigen3 apparently but to yade itself; saying SuiteSparse_config was not found or something like this

I've checked SuiteSparse_config.h though; SuiteSpatse_long was only defined as a long datatype

Tried with SuiteSparse versions 4.3.0 and 4.3.1

2014-09-15 0:23 GMT+02:00 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
after a quick look it might be that UF_long has been replaced by SuiteSparse_long, so we should probably use that one instead, and fallback to UF_long is the former is not defined for compatibility with older version. Could you confirm SuiteSparse_long is working for you?


On Mon, Sep 15, 2014 at 12:18 AM, Gael Guennebaud <gael.guennebaud@xxxxxxxxx> wrote:
hm, which version of cholmod/suitesparse are you using?

UF_long should be defined by cholmod/suitesparse headers, usually in the "SuiteSparse_config.h" file. Depending on how you (or your packager) configured suitesparse, UF_long might not be equivalent to long int.


On Sun, Sep 14, 2014 at 7:01 PM, Tomaz Zorec <tzfifthguy1@xxxxxxxxx> wrote:
Hey everyone!

I'm new to eigen - basically I did not know of it till I tried to compile Yade (DEM software) that uses eigen3 libs. 

During compilation I got a message saying that 

UF_long, used in something/eigen3/eigen/src/CholmodSupport/CholmodSupport.h, line 79 has not been previously defined - tehrefore the thing did not compile.

As I said, I am new so I don't really know what the library should be doing but I did find it peculiar that a variable would not be defined - the lib does not include other libs - ok maybe it's defined in another system-wide lib but I really couldn't figure out where.

Simple logic, according to the surroundings( if int>::value ... if UF_long>::value ...), led me to change the _expression_ from UF_long tolong. The package magically compiled.

Was this a bug or was UF_long supposed to be there and should have been defined somewhere else?

Btw: the same expressions are found in both the Bitbucket repos, github repos and launchpad repos - though it seems that it was only changed to this while eigne3 was being made - in eigen/eigen i cannot find this expr.

I hope that this helps you guys, or at least helps me clarify what was going on.

Best, Tomaž

Mail converted by MHonArc 2.6.19+