bayesiancook / pbmpi

phylobayes mpi
GNU General Public License v2.0
23 stars 9 forks source link

Compilation error: `call of overloaded ‘isnan(double&)’ is ambiguous` #25

Closed mptrsen closed 9 months ago

mptrsen commented 3 years ago

Trying to compile version 1.8c with mpic++ (GCC) v 4.8.5 20150623 results in an error:

$ make 
mpic++ -c -Wall -O3 -std=c++11 PB.cpp
In file included from SubstitutionProcess.h:22:0,
                 from PhyloProcess.h:24,
                 from MatrixPhyloProcess.h:21,
                 from ExpoConjugateGTRPhyloProcess.h:20,
                 from RASCATGTRFiniteGammaPhyloProcess.h:20,
                 from Model.h:19,
                 from PB.cpp:17:
BranchSitePath.h: In member function ‘void Plink::SetRelativeTime(double)’:
BranchSitePath.h:218:20: error: call of overloaded ‘isnan(double&)’ is ambiguous
  if (isnan(rel_time)) {
                    ^
BranchSitePath.h:218:20: note: candidates are:
In file included from /usr/include/features.h:375:0,
                 from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h:39,
                 from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h:2097,
                 from /usr/include/c++/4.8.2/cstdlib:41,
                 from BiologicalSequences.h:19,
                 from StateSpace.h:20,
                 from SequenceAlignment.h:19,
                 from CodonSequenceAlignment.h:21,
                 from Model.h:17,
                 from PB.cpp:17:
/usr/include/bits/mathcalls.h:235:1: note: int isnan(double)
 __MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
 ^
In file included from Random.h:20:0,
                 from SequenceAlignment.h:21,
                 from CodonSequenceAlignment.h:21,
                 from Model.h:17,
                 from PB.cpp:17:
/usr/include/c++/4.8.2/cmath:626:3: note: constexpr bool std::isnan(long double)
   isnan(long double __x)
   ^
/usr/include/c++/4.8.2/cmath:622:3: note: constexpr bool std::isnan(double)
   isnan(double __x)
   ^
/usr/include/c++/4.8.2/cmath:618:3: note: constexpr bool std::isnan(float)
   isnan(float __x)
   ^
make: *** [PB.o] Error 1
bayesiancook commented 9 months ago

this has been fixed: now using std::isnan