Hello,
I am trying to install galtoolslib on my laptop , running ubuntu.
I am stuck on the following error during make.
Could it be that I am using the wrong compiler. It seems to be an totaly different version number than 4.6 as discribed in the manual.
harm@harm-pc:~/galdrop/galtoolslib/build$ gcc --version
gcc (Ubuntu 8.3.0-6ubuntu1~18.10.1) 8.3.0
harm@harm-pc:~/galdrop/galtoolslib/build$make
[ 18%] Built target ut ils
[ 27%] Built target galstruct
[ 28%] Building CXX object libskymap/CMakeFiles/skymap.dir/Skymap.cc.o
In file included from /home/harm/galdrop/galtoolslib/libskymap/Skymap.cc:1:
/home/harm/galdrop/galtoolslib/libskymap/Skymap.h: In member function ‘void Skymap<T>::load(const string&, int, bool)’:
/home/harm/galdrop/galtoolslib/libskymap/Skymap.h:545:76: error: no matching function for call to ‘min(long unsigned int, size_t)’
const size_t stop = std::min(ipix+nrows,size_t(Npix()));
^
In file included from /usr/include/c++/8/vector:60,
from /home/harm/galdrop/Healpix/src/cxx/generic_gcc/include/healpix_base.h:35,
from /home/harm/galdrop/galtoolslib/libskymap/HealpixBaseExtended.h:10,
from /home/harm/galdrop/galtoolslib/libskymap/Skymap.h:13,
from /home/harm/galdrop/galtoolslib/libskymap/Skymap.cc:1:
/usr/include/c++/8/bits/stl_algobase.h:195:5: note: candidate: ‘template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)’
min(const _Tp& __a, const _Tp& __b)
^~~
/usr/include/c++/8/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed:
In file included from /home/harm/galdrop/galtoolslib/libskymap/Skymap.cc:1:
/home/harm/galdrop/galtoolslib/libskymap/Skymap.h:545:76: note: deduced conflicting types for parameter ‘const _Tp’ (‘long unsigned int’ and ‘size_t’ {aka ‘unsigned int’})
const size_t stop = std::min(ipix+nrows,size_t(Npix()));
....
<deleted>
....
In file included from /home/harm/galdrop/galtoolslib/libskymap/Skymap.cc:1:
/home/harm/galdrop/galtoolslib/libskymap/Skymap.h:545:76: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘long unsigned int’
const size_t stop = std::min(ipix+nrows,size_t(Npix()));
^
In file included from /usr/include/c++/8/algorithm:62,
from /home/harm/galdrop/Healpix/src/cxx/generic_gcc/include/arr.h:35,
from /home/harm/galdrop/Healpix/src/cxx/generic_gcc/include/healpix_base.h:38,
from /home/harm/galdrop/galtoolslib/libskymap/HealpixBaseExtended.h:10,
from /home/harm/galdrop/galtoolslib/libskymap/Skymap.h:13,
from /home/harm/galdrop/galtoolslib/libskymap/Skymap.cc:1:
/usr/include/c++/8/bits/stl_algo.h:3456:5: note: candidate: ‘template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)’
min(initializer_list<_Tp> __l, _Compare __comp)
^~~
/usr/include/c++/8/bits/stl_algo.h:3456:5: note: template argument deduction/substitution failed:
In file included from /home/harm/galdrop/galtoolslib/libskymap/Skymap.cc:1:
/home/harm/galdrop/galtoolslib/libskymap/Skymap.h:545:76: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘long unsigned int’
const size_t stop = std::min(ipix+nrows,size_t(Npix()));
^
make[2]: *** [libskymap/CMakeFiles/skymap.dir/build.make:115: libskymap/CMakeFiles/skymap.dir/Skymap.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:201: libskymap/CMakeFiles/skymap.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
Additional notes:
- I needed to install Healpix_3.40 instead of 3.50 due to fftpack is replaced with pocketfft
- I Needed to install WCSlib , I used this one:
https://www.gnu.org/software/gnuastro/m ... tml#WCSLIB- I tried it on a Raspberry PI4 (ARM processor) and had the same issue.
Harm