Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with sundials package #10

Open
aligroup2 opened this issue Sep 25, 2017 · 3 comments
Open

Help with sundials package #10

aligroup2 opened this issue Sep 25, 2017 · 3 comments

Comments

@aligroup2
Copy link

Hi
I encounterd a problem when trying to make pimple branches with sundials package.
There is no problem with Simple packages.
Please help me with this problem.
Best regards

@xiayyu
Copy link

xiayyu commented Oct 19, 2017

@aligroup2
Maybe you met the same problem with me.
When I use intel MKL and sundials together, building pimple sovlers, errors(partly) come as:

In file included from /home/xiayu/OpenFOAM/laminarSMOKEthird/sundials/include/cvode/cvode_lapack.h:26:0,
                 from ../openSMOKEpp4laminarSMOKE/math/external-ode-solvers/OpenSMOKE_CVODE_Sundials.h:46,
                 from ../laminarSMOKE/unsteady/BatchReactorHomogeneousConstantPressure_ODE_Interface.H:74,
                 from laminarBuoyantPimpleSMOKE.C:90:
/home/xiayu/OpenFOAM/laminarSMOKEthird/sundials/include/sundials/sundials_lapack.h:98:53: error: conflicting declaration of C function ‘void dgbtrf_(const int*, const int*, const int*, const int*, double*, int*, int*, int*)’
          double *ab, int *ldab, int *ipiv, int *info);
                                                     ^
In file included from /opt/intel/compilers_and_libraries/linux/mkl/include/mkl.h:40:0,
                 from /usr/include/eigen3/Eigen/src/Core/util/MKL_support.h:57,
                 from /usr/include/eigen3/Eigen/Core:74,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from ../openSMOKEpp4laminarSMOKE/OpenSMOKEpp:45,
                 from laminarBuoyantPimpleSMOKE.C:51:
/opt/intel/compilers_and_libraries/linux/mkl/include/mkl_lapack.h:11108:6: note: previous declaration ‘void dgbtrf_(const int*, const int*, const int*, const int*, double*, const int*, int*, int*)’
 void dgbtrf_( const MKL_INT* m, const MKL_INT* n, const MKL_INT* kl,

Apparently, function dgbtrf_ has been declared twice by both intel MKL and sundials_lapack which is not allowed.

There is a lot of mess for my situation. I use system liblapack to build sundials libs while others employ intel MKL. I am trying to fix it and wish a detailed instruction for building optional deps.

@aligroup2
Copy link
Author

Yes there was a lot of errors with declarations and after a while trying to compile with sundials package, i gave up .

@aligroup2
Copy link
Author

It's solved by using OPENBLAS instead of MKL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants