Closed Mogawana closed 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,
You can find the solution here: https://github.com/rcthomas/es/issues/18
The solution from #18 resolved my issue. Thank you.
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)
| ^; _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)
| ^; _Alloc = std::allocator]’
578 | insert(initializer_list __l)
| ^
~/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~/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~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 2Any Idea what might be causing this?
Regards,