odelaneau / shapeit5

Segmented HAPlotype Estimation and Imputation Tool
https://odelaneau.github.io/shapeit5/
MIT License
61 stars 9 forks source link

How can I solve "makefile:135: recipe for target 'obj/haplotype_segment_double.o' failed" #50

Open jpbreed90 opened 1 year ago

jpbreed90 commented 1 year ago

Hello! I hope this message finds you well. I'm currently working on setting up Shapeit5 on a new server. The server is running Ubuntu 18.04 with gcc and g++ versions 7.5.0-3, htslib version 1.9, and BOOST version 1.81.

I'm encountering an error when I run 'make' in the phase_common directory. The error message is as follows:

[In file included from src/models/haplotype_segment_double.cpp:23:0: src/models/haplotype_segment_double.h: In member function ‘bool haplotype_segment_double::TRANS_HAP()’: src/models/haplotype_segment_double.h:403:10: error: ‘isnan’ was not declared in this scope return (isnan(sumHProbs) || isinf(sumHProbs) || sumHProbs < std::numeric_limits::min()); ^~~~~ src/models/haplotype_segment_double.h:403:10: note: suggested alternatives: In file included from src/utils/otools.h:39:0, from src/models/haplotype_segment_double.h:26, from src/models/haplotype_segment_double.cpp:23: /usr/include/c++/7/cmath:639:5: note: ‘std::isnan’ isnan(_Tp x) ^~~~~ /usr/include/c++/7/cmath:618:3: note: ‘std::isnan’ isnan(float x) ^~~~~ In file included from src/models/haplotype_segment_double.cpp:23:0: src/models/haplotype_segment_double.h:403:30: error: ‘isinf’ was not declared in this scope return (isnan(sumHProbs) || isinf(sumHProbs) || sumHProbs < std::numeric_limits::min()); ^~~~~ src/models/haplotype_segment_double.h:403:30: note: suggested alternatives: In file included from src/utils/otools.h:39:0, from src/models/haplotype_segment_double.h:26, from src/models/haplotype_segment_double.cpp:23: /usr/include/c++/7/cmath:612:5: note: ‘std::isinf’ isinf(_Tp x) ^~~~~ /usr/include/c++/7/cmath:591:3: note: ‘std::isinf’ isinf(float x) ^~~~~ In file included from src/models/haplotype_segment_double.cpp:23:0: src/models/haplotype_segment_double.h: In member function ‘bool haplotype_segment_double::TRANS_DIP_MULT()’: src/models/haplotype_segment_double.h:421:10: error: ‘isnan’ was not declared in this scope return (isnan(sumDProbs) || isinf(sumDProbs) || sumDProbs < std::numeric_limits::min()); ^~~~~ src/models/haplotype_segment_double.h:421:10: note: suggested alternatives: In file included from src/utils/otools.h:39:0, from src/models/haplotype_segment_double.h:26, from src/models/haplotype_segment_double.cpp:23: /usr/include/c++/7/cmath:639:5: note: ‘std::isnan’ isnan(_Tp x) ^~~~~ /usr/include/c++/7/cmath:618:3: note: ‘std::isnan’ isnan(float x) ^~~~~ In file included from src/models/haplotype_segment_double.cpp:23:0: src/models/haplotype_segment_double.h:421:30: error: ‘isinf’ was not declared in this scope return (isnan(sumDProbs) || isinf(sumDProbs) || sumDProbs < std::numeric_limits::min()); ^~~~~ src/models/haplotype_segment_double.h:421:30: note: suggested alternatives: In file included from src/utils/otools.h:39:0, from src/models/haplotype_segment_double.h:26, from src/models/haplotype_segment_double.cpp:23: /usr/include/c++/7/cmath:612:5: note: ‘std::isinf’ isinf(_Tp x) ^~~~~ /usr/include/c++/7/cmath:591:3: note: ‘std::isinf’ isinf(float x) ^~~~~ In file included from src/models/haplotype_segment_double.cpp:23:0: src/models/haplotype_segment_double.h: In member function ‘bool haplotype_segment_double::TRANS_DIP_ADD()’: src/models/haplotype_segment_double.h:439:10: error: ‘isnan’ was not declared in this scope return (isnan(sumDProbs) || isinf(sumDProbs) || sumDProbs < std::numeric_limits::min()); ^~~~~ src/models/haplotype_segment_double.h:439:10: note: suggested alternatives: In file included from src/utils/otools.h:39:0, from src/models/haplotype_segment_double.h:26, from src/models/haplotype_segment_double.cpp:23: /usr/include/c++/7/cmath:639:5: note: ‘std::isnan’ isnan(_Tp x) ^~~~~ /usr/include/c++/7/cmath:618:3: note: ‘std::isnan’ isnan(float x) ^~~~~ In file included from src/models/haplotype_segment_double.cpp:23:0: src/models/haplotype_segment_double.h:439:30: error: ‘isinf’ was not declared in this scope return (isnan(sumDProbs) || isinf(sumDProbs) || sumDProbs < std::numeric_limits::min()); ^~~~~ src/models/haplotype_segment_double.h:439:30: note: suggested alternatives: In file included from src/utils/otools.h:39:0, from src/models/haplotype_segment_double.h:26, from src/models/haplotype_segment_double.cpp:23: /usr/include/c++/7/cmath:612:5: note: ‘std::isinf’ isinf(_Tp x) ^~~~~ /usr/include/c++/7/cmath:591:3: note: ‘std::isinf’ isinf(float x) ^~~~~ makefile:135: recipe for target 'obj/haplotype_segment_double.o' failed make: *** [obj/haplotype_segment_double.o] Error 1 ]

I would greatly appreciate your assistance and guidance in resolving this issue. Thank you in advance for your help!