Hi,
I have already tried that and it is not working. I have tried to compile cantera using scons 3.1.2 instead of scons 4.0.1 and here is the output:
# scons build system_sundials=n VERBOSE=y
scons: Reading SConscript files ...
INFO: SCons is using the following Python interpreter: /usr/bin/python.exe
Configuration variables read from 'cantera.conf' and command line:
system_sundials = 'n'
VERBOSE = True
Propagating environment variable PATH=/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
Checking for C++ header file cmath... yes
Checking for C++ header file fmt/ostream.h... no
INFO: Using private installation of fmt library.
Submodule 'ext/fmt' (https://github.com/fmtlib/fmt.git) registered for path 'ext/fmt'
Cloning into '/home/Stefano/NumericalLibraries/cantera-v25/ext/fmt'...
Percorso del sottomodulo 'ext/fmt': eseguito checkout di '19bd751020a1f3c3363b2eb67a039852f139a8d3'
INFO: Found fmt version 6.2.1
Checking for C++ header file yaml-cpp/yaml.h... no
INFO: Using private installation of yaml-cpp library.
Submodule 'ext/yaml-cpp' (https://github.com/jbeder/yaml-cpp.git) registered for path 'ext/yaml-cpp'
Cloning into '/home/Stefano/NumericalLibraries/cantera-v25/ext/yaml-cpp'...
Percorso del sottomodulo 'ext/yaml-cpp': eseguito checkout di '012269756149ae99745b6dafefd415843d7420bb'
Checking for C++ header file gtest/gtest.h... no
Checking for C++ header file gmock/gmock.h... no
Submodule 'ext/googletest' (https://github.com/google/googletest.git) registered for path 'ext/googletest'
Cloning into '/home/Stefano/NumericalLibraries/cantera-v25/ext/googletest'...
Percorso del sottomodulo 'ext/googletest': eseguito checkout di '703bd9caab50b139428cea1aaff9974ebee5742e'
INFO: Using Googletest from Git submodule
Checking for C++ header file Eigen/Dense... no
INFO: Using private installation of Eigen.
Submodule 'ext/eigen' (https://gitlab.com/libeigen/eigen.git/) registered for path 'ext/eigen'
Cloning into '/home/Stefano/NumericalLibraries/cantera-v25/ext/eigen'...
Percorso del sottomodulo 'ext/eigen': eseguito checkout di '21ae2afd4edaa1b69782c67a54182d34efe43f9c'
INFO: Found Eigen version 3.3.7
Checking whether __GLIBCXX__ is declared... yes
Checking whether __clang__ is declared... no
Checking for C++ library omp... no
INFO: Found Boost version 1.75
Checking whether boost::core::demangle is declared... yes
Checking for CVodeCreate(CV_BDF, CV_NEWTON) in C++ library sundials_cvodes... no
Checking for CVodeCreate(CV_BDF) in C++ library sundials_cvodes... no
Submodule 'ext/sundials' (https://github.com/LLNL/sundials) registered for path 'ext/sundials'
Cloning into '/home/Stefano/NumericalLibraries/cantera-v25/ext/sundials'...
Percorso del sottomodulo 'ext/sundials': eseguito checkout di '887af4374af2271db9310d31eaa9b5aeff49e829'
Checking for double x; log(x) in C library None... yes
INFO: Using private installation of Sundials version 5.3.
INFO: Using 'gfortran' to build the Fortran 90 interface
-------------------- begin config.log --------------------
file /home/Stefano/NumericalLibraries/cantera-v25/SConstruct,line 842:
Configure(confdir = .sconf_temp)
scons: Configure: Checking for C++ header file cmath...
.sconf_temp/conftest_0.cpp <-
|
|#include <cmath>
|
|
g++ -o .sconf_temp/conftest_0.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_0.cpp
scons: Configure: yes
scons: Configure: Checking for C++ header file fmt/ostream.h...
.sconf_temp/conftest_1.cpp <-
|
|#include "fmt/ostream.h"
|
|
g++ -o .sconf_temp/conftest_1.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_1.cpp
.sconf_temp/conftest_1.cpp:2:10: fatal error: fmt/ostream.h: No such file or directory
2 | #include "fmt/ostream.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
.sconf_temp/conftest_2.cpp <-
|#include "../ext/fmt/include/fmt/format.h"
|#define Q(x) #x
|#define QUOTE(x) Q(x)
|#include <iostream>
|#ifndef SUNDIALS_PACKAGE_VERSION
|#define SUNDIALS_PACKAGE_VERSION SUNDIALS_VERSION
|#endif
|int main(int argc, char** argv) {
| std::cout << FMT_VERSION << std::endl;
| return 0;
|}
|
g++ -o .sconf_temp/conftest_2.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_2.cpp
g++ -o .sconf_temp/conftest_2.exe -Wl,-no-undefined -pthread .sconf_temp/conftest_2.o
.sconf_temp/conftest_2.exe > .sconf_temp/conftest_2.exe.out
scons: Configure: Checking for C++ header file yaml-cpp/yaml.h...
.sconf_temp/conftest_3.cpp <-
|
|#include "yaml-cpp/yaml.h"
|
|
g++ -o .sconf_temp/conftest_3.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_3.cpp
.sconf_temp/conftest_3.cpp:2:10: fatal error: yaml-cpp/yaml.h: No such file or directory
2 | #include "yaml-cpp/yaml.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
scons: Configure: Checking for C++ header file gtest/gtest.h...
.sconf_temp/conftest_4.cpp <-
|
|#include "gtest/gtest.h"
|
|
g++ -o .sconf_temp/conftest_4.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_4.cpp
.sconf_temp/conftest_4.cpp:2:10: fatal error: gtest/gtest.h: No such file or directory
2 | #include "gtest/gtest.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
scons: Configure: Checking for C++ header file gmock/gmock.h...
.sconf_temp/conftest_5.cpp <-
|
|#include "gmock/gmock.h"
|
|
g++ -o .sconf_temp/conftest_5.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_5.cpp
.sconf_temp/conftest_5.cpp:2:10: fatal error: gmock/gmock.h: No such file or directory
2 | #include "gmock/gmock.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
scons: Configure: Checking for C++ header file Eigen/Dense...
.sconf_temp/conftest_6.cpp <-
|
|#include <Eigen/Dense>
|
|
g++ -o .sconf_temp/conftest_6.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_6.cpp
.sconf_temp/conftest_6.cpp:2:10: fatal error: Eigen/Dense: No such file or directory
2 | #include <Eigen/Dense>
| ^~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
.sconf_temp/conftest_7.cpp <-
|#include "../ext/eigen/Eigen/Core"
|#define Q(x) #x
|#define QUOTE(x) Q(x)
|#include <iostream>
|#ifndef SUNDIALS_PACKAGE_VERSION
|#define SUNDIALS_PACKAGE_VERSION SUNDIALS_VERSION
|#endif
|int main(int argc, char** argv) {
| std::cout << QUOTE(EIGEN_WORLD_VERSION) "." QUOTE(EIGEN_MAJOR_VERSION) "." QUOTE(EIGEN_MINOR_VERSION) << std::endl;
| return 0;
|}
|
g++ -o .sconf_temp/conftest_7.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_7.cpp
g++ -o .sconf_temp/conftest_7.exe -Wl,-no-undefined -pthread .sconf_temp/conftest_7.o
.sconf_temp/conftest_7.exe > .sconf_temp/conftest_7.exe.out
scons: Configure: Checking whether __GLIBCXX__ is declared...
.sconf_temp/conftest_8.cpp <-
|#include <iostream>
|int main(void)
|{
|#ifndef __GLIBCXX__
| (void) __GLIBCXX__;
|#endif
| ;
| return 0;
|}
|
g++ -o .sconf_temp/conftest_8.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_8.cpp
scons: Configure: yes
scons: Configure: Checking whether __clang__ is declared...
.sconf_temp/conftest_9.cpp <-
|
|int main(void)
|{
|#ifndef __clang__
| (void) __clang__;
|#endif
| ;
| return 0;
|}
|
g++ -o .sconf_temp/conftest_9.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_9.cpp
.sconf_temp/conftest_9.cpp: In function 'int main()':
.sconf_temp/conftest_9.cpp:5:12: error: '__clang__' was not declared in this scope
5 | (void) __clang__;
| ^~~~~~~~~
scons: Configure: no
scons: Configure: Checking for C++ library omp...
.sconf_temp/conftest_10.cpp <-
|
|
|#include "omp.h"
|
|int
|main() {
|
|return 0;
|}
|
g++ -o .sconf_temp/conftest_10.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_10.cpp
g++ -o .sconf_temp/conftest_10.exe -Wl,-no-undefined -pthread .sconf_temp/conftest_10.o -lomp
C:/Users/Stefano/Documents/ASALI/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lomp
collect2.exe: error: ld returned 1 exit status
scons: Configure: no
.sconf_temp/conftest_11.cpp <-
|#include <boost/version.hpp>
|#define Q(x) #x
|#define QUOTE(x) Q(x)
|#include <iostream>
|#ifndef SUNDIALS_PACKAGE_VERSION
|#define SUNDIALS_PACKAGE_VERSION SUNDIALS_VERSION
|#endif
|int main(int argc, char** argv) {
| std::cout << BOOST_LIB_VERSION << std::endl;
| return 0;
|}
|
g++ -o .sconf_temp/conftest_11.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_11.cpp
g++ -o .sconf_temp/conftest_11.exe -Wl,-no-undefined -pthread .sconf_temp/conftest_11.o
.sconf_temp/conftest_11.exe > .sconf_temp/conftest_11.exe.out
scons: Configure: Checking whether boost::core::demangle is declared...
.sconf_temp/conftest_12.cpp <-
|#include <boost/core/demangle.hpp>
|int main(void)
|{
|#ifndef boost::core::demangle
| (void) boost::core::demangle;
|#endif
| ;
| return 0;
|}
|
g++ -o .sconf_temp/conftest_12.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_12.cpp
.sconf_temp/conftest_12.cpp:4:14: warning: extra tokens at end of #ifndef directive
4 | #ifndef boost::core::demangle
| ^~
scons: Configure: yes
scons: Configure: Checking for CVodeCreate(CV_BDF, CV_NEWTON) in C++ library sundials_cvodes...
.sconf_temp/conftest_13.cpp <-
|
|
|#include "cvodes/cvodes.h"
|int
|main() {
| CVodeCreate(CV_BDF, CV_NEWTON);
|return 0;
|}
|
g++ -o .sconf_temp/conftest_13.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_13.cpp
.sconf_temp/conftest_13.cpp:3:10: fatal error: cvodes/cvodes.h: No such file or directory
3 | #include "cvodes/cvodes.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
scons: Configure: Checking for CVodeCreate(CV_BDF) in C++ library sundials_cvodes...
.sconf_temp/conftest_14.cpp <-
|
|
|#include "cvodes/cvodes.h"
|int
|main() {
| CVodeCreate(CV_BDF);
|return 0;
|}
|
g++ -o .sconf_temp/conftest_14.o -c -std=c++0x -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_14.cpp
.sconf_temp/conftest_14.cpp:3:10: fatal error: cvodes/cvodes.h: No such file or directory
3 | #include "cvodes/cvodes.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
scons: Configure: no
scons: Configure: Checking for double x; log(x) in C library None...
.sconf_temp/conftest_15.c <-
|
|
|#include "math.h"
|
|int
|main() {
| double x; log(x);
|return 0;
|}
|
gcc -o .sconf_temp/conftest_15.o -c -pthread -O3 -Wno-inline -g -DNDEBUG .sconf_temp/conftest_15.c
gcc -o .sconf_temp/conftest_15.exe -Wl,-no-undefined -pthread .sconf_temp/conftest_15.o
scons: Configure: yes
.sconf_temp/conftest_16.f90 <-
|
|program main
| write(*,'(a)') 'Hello, world!'
|end program main
|
gfortran -o .sconf_temp/conftest_16.o -c -O3 .sconf_temp/conftest_16.f90
gfortran -o .sconf_temp/conftest_16.exe -Wl,-no-undefined -pthread .sconf_temp/conftest_16.o
.sconf_temp/conftest_16.exe > .sconf_temp/conftest_16.exe.out
--------------------- end config.log ---------------------
As you can see, with this version of scons the path are in "ubuntu-like format" instead of "windows-like" format; everything is working and I'm able to compile cantera. So the problem, might be related to the version of scons? What do you think? Do you have any hint on how to fix the issue?
Best,
Stefano