rcthomas / es

Elementary Supernova Spectrum Synthesis
http://c3.lbl.gov/es
Other
12 stars 8 forks source link

Error when compiling SYNAPPS with APPSPACK #20

Closed Mogawana closed 3 years ago

Mogawana commented 3 years ago

Hi

I can successfully compile SYN++ but I run into a compilation error when I include APPSPACK libraries and headers files to compile SYNAPPS. I am using Ubuntu 20.04.

I used this command to configure:

./configure --prefix=/opt/es-0.98.1 --with-cfitsio-cpp="-I/opt/cfitsio-3.49/include" --with-cfitsio-libs="-L/opt/cfitsio-3.49/lib -lcfitsio" --with-appspack-cpp="-I/opt/appspack-5.0.1/include" --with-appspack-libs="-L/opt/appspack-5.0.1/lib/ -lappspack" --with-blas=/home/orapeleng/lapack-3.9.1/librefblas.a --with-lapack=/home/orapeleng/lapack-3.9.1/liblapack.a

and the results of comes out as: configure: ======================== Build Configuration ============================= configure: C++ Compiler : g++ configure: MPI C++ Compiler : mpic++ configure: C++ Compile flags : -O3 configure: OpenMP : Detected (-fopenmp) configure: CFITSIO : -L/opt/cfitsio-3.49/lib -lcfitsio configure: BLAS : /home/orapeleng/lapack-3.9.1/librefblas.a configure: LAPACK : -llapack configure: APPSPACK : -L/opt/appspack-5.0.1/lib/ -lappspack configure: ==========================================================================

However, the results from compiling with the "make" command gives this error:

ES_Synapps_Config.cc: In constructor ‘ES::Synapps::Config::Config(const YAML::Node&)’: ES_Synapps_Config.cc:252:44: error: call of overloaded ‘insert(const YAML::Node&)’ is ambiguous 252 | done.insert( config[ "ions" ][ i ] ); | ^ In file included from /usr/include/c++/9/set:61, from ES_Synapps_Config.cc:36: /usr/include/c++/9/bits/stl_set.h:509:7: note: candidate: ‘std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename gnu_cxx::alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = int; _Compare = std::less; _Alloc = std::allocator; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename gnu_cxx::alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator; std::set<_Key, _Compare, _Alloc>::value_type = int]’ 509 | insert(const value_type& x) | ^~ /usr/include/c++/9/bits/stl_set.h:518:7: note: candidate: ‘std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename gnu_cxx::alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = std::less; _Alloc = std::allocator; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator; std::set<_Key, _Compare, _Alloc>::value_type = int]’ 518 | insert(value_type&& __x) | ^~ /usr/include/c++/9/bits/stl_set.h:578:7: note: candidate: ‘void std::set<_Key, _Compare, _Alloc>::insert(std::initializer_list<_Tp>) [with _Key = int; _Compare = std::less; _Alloc = std::allocator]’ 578 | insert(initializer_list __l) | ^~ make[3]: [Makefile:559: libesapps_la-ES_Synapps_Config.lo] Error 1 make[3]: Leaving directory '/home/orapeleng/es-0.98.1/src/synapps' make[2]: [Makefile:398: all-recursive] Error 1 make[2]: Leaving directory '/home/orapeleng/es-0.98.1/src' make[1]: [Makefile:443: all-recursive] Error 1 make[1]: Leaving directory '/home/orapeleng/es-0.98.1' make: [Makefile:375: all] Error 2

Any Idea what might be causing this?

Regards,

rayadastidar commented 3 years ago

You can find the solution here: https://github.com/rcthomas/es/issues/18

Mogawana commented 3 years ago

The solution from #18 resolved my issue. Thank you.