compilation error related to CHOLMOD

Asked by Luc Scholtès

Hi guys,

I am currently trying to install yade (got it from: git clone https://github.com/yade/trunk.git) on a new machine (ubuntu 14.04) and I come across this error during the compilation:

 [23%] Building CXX object CMakeFiles/yade.dir/pkg/pfv/DFNFlow.cpp.o
In file included from /usr/local/include/eigen3/Eigen/CholmodSupport:39:0,
                 from /home/UL/dinc1/Yade/sources/trunk/lib/triangulation/FlowBoundingSphereLinSolv.hpp:17,
                 from /home/UL/dinc1/Yade/sources/trunk/lib/triangulation/FlowBoundingSphere.hpp:172,
                 from /home/UL/dinc1/Yade/sources/build/pkg/pfv/FlowEngine_FlowEngineT.hpp:39,
                 from /home/UL/dinc1/Yade/sources/trunk/pkg/pfv/FlowEngine.cpp:11:
/usr/local/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h: In function ‘cholmod_sparse Eigen::viewAsCholmod(Eigen::SparseMatrix<_Scalar, _Options, _Index>&)’:
/usr/local/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h:81:37: error: ‘SuiteSparse_long’ was not declared in this scope
   else if (internal::is_same<_Index,SuiteSparse_long>::value)

Have you met this error before?

Thanks for your help

Luc

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Anton Gladky (gladky-anton) said :
#1

Hi Luc,

please try to update eigen3. You can take it from here [1]
or just download a source tarball from eigen-website and
point there cmake:

cmake -DEIGEN3_INCLUDE_DIR=/path/to/eigen3 ......

[1] http://yade-dem.org/packages/trusty/

Best regards

Anton

Revision history for this message
Jérôme Duriez (jduriez) said :
#2

Hi guys,

I'm facing the same compilation error on a student's desktop (with Ubuntu 16.04). Which Eigen version should be required ?

We have upgraded here to 3.2.8, see part of cmake message just below:
-- Found Eigen3, version: 3.2.8

As a side note, the error here appeared during compilation of PeriodicFlowEngine.cpp even though I included DENABLE_PFVFLOW=OFF during cmake:
************************
-- Yade configured with following features: Odeint OpenMP GTS GUI CGAL LINSOLV
-- Disabled features: VTK PFVFLOW SPH LIQMIGRATION GL2PS LBMFLOW MASK_ARBITRARY PROFILING PotentialParticles
************************
???

Thanks,

Jerome

Revision history for this message
Nauman Sultan (nhsultan) said :
#3

Sorry, the desktop is in fact on Ubuntu 14.04....

Revision history for this message
Anton Gladky (gladky-anton) said :
#4

eigen 3.3~beta1-2 has a fix and is standard package for
Ubuntu 16.04.

If you use 14.04, please download 3.3~beta1 from eigen
website and point cmake to take headers from downloaded
version.

@Jerome, it looks like you have found a bug. This peace of
code [1] should check the variable ENABLE_PFVFLOW.

[1] https://github.com/yade/trunk/blob/master/CMakeLists.txt#L531

Anton

Revision history for this message
Jérôme Duriez (jduriez) said :
#5

Thank you Anton, Nauman and myself were speaking about the same thing.
Nauman downloaded 3.3~beta1 and it seems it has been successfully installed because cmake now outputs:

-- Found Eigen3, version: 3.2.92

However, we still get the same compilation error. Did we do something wrong ? Or ?

PS: a fix for us would also to correct the ENABLE_PFVFLOW thing ;-)

Revision history for this message
Jérôme Duriez (jduriez) said :
#6

Hello,

For the record, this compilation problem disappears when switching from Eigen 3.2.92 (which was this 3.3~beta1 at the time I downloaded it last year), to Eigen 3.3.1.

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#7

Thanks for notifying. I confirm that building the PFV code has required specific combinations of openblas/suitesparse/eigen versions most of the time over the years. Having it compiled smoothly with default packages was a recent thing, hopefully we get there soon again.
Bruno

Can you help with this problem?

Provide an answer of your own, or ask Luc Scholtès for more information if necessary.

To post a message you must log in.