Closed Gray-Tu closed 1 year ago
[add] the full stdout is
make -e -C src
make[1]: Entering directory `/home/ONT/tools/git_clone/Winnowmap/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/ONT/tools/git_clone/Winnowmap/src'
g++ -g -Wall -O2 -DHAVE_KALLOC -fopenmp -std=c++11 -Wno-sign-compare -Wno-write-strings -Wno-unused-but-set-variable -fno-tree-vectorize src/main.o -o bin/winnowmap -Lsrc -lwinnowmap -lm -lz -lpthread
make -C ext/meryl/src TARGET_DIR=/home/ONT/tools/git_clone/Winnowmap
Building snapshot v1.3
For 'Linux' '3.10.0-1160.49.1.el7.x86_64' as 'amd64' into '/home/ONT/tools/git_clone/Winnowmap/{bin,obj}'.
Using '/usr/local/bin/g++' version '5.4.0'.
make[1]: Entering directory `/home/ONT/tools/git_clone/Winnowmap/ext/meryl/src'
g++ -o /home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/edlib.o -c -MD -g3 -O4 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer -Wall -Wextra -Wformat -Wno-ch ar-subscripts -Wno-sign-compare -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-decl arations -Wno-format-truncation -std=c++17 -pthread -fopenmp -fPIC -DNOBACKTRACE -I/home/ONT/tools/git_clone/Winnowm ap/ext/meryl/src -Imeryl -Iutility utility/src/utility/edlib.C
g++ -o /home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/files.o -c -MD -g3 -O4 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer -Wall -Wextra -Wformat -Wno-ch ar-subscripts -Wno-sign-compare -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-decl arations -Wno-format-truncation -std=c++17 -pthread -fopenmp -fPIC -DNOBACKTRACE -I/home/ONT/tools/git_clone/Winnowm ap/ext/meryl/src -Imeryl -Iutility utility/src/utility/files.C
g++ -o /home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/files-buffered.o - c -MD -g3 -O4 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer -Wall -Wextra -Wforma t -Wno-char-subscripts -Wno-sign-compare -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-deprec ated-declarations -Wno-format-truncation -std=c++17 -pthread -fopenmp -fPIC -DNOBACKTRACE -I/home/ONT/tools/git_clon e/Winnowmap/ext/meryl/src -Imeryl -Iutility utility/src/utility/files-buffered.C
g++ -o /home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/files-compressed.o -c -MD -g3 -O4 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer -Wall -Wextra -Wfor mat -Wno-char-subscripts -Wno-sign-compare -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-depr ecated-declarations -Wno-format-truncation -std=c++17 -pthread -fopenmp -fPIC -DNOBACKTRACE -I/home/ONT/tools/git_cl one/Winnowmap/ext/meryl/src -Imeryl -Iutility utility/src/utility/files-compressed.C
In file included from utility/src/utility/edlib.H:45:0,
from utility/src/utility/edlib.C:42:
utility/src/utility/types.H: In function ‘int64 doubletoint64(double)’:
utility/src/utility/types.H:161:51: error: ‘llrint’ is not a member of ‘std’
inline int64 doubletoint64(double d) { return(std::llrint(d)); }
^
utility/src/utility/types.H:161:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/edlib.H:45,
from utility/src/utility/edlib.C:42:
/usr/include/bits/mathcalls.h:327:1: note: ‘llrint’
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/edlib.H:45:0,
from utility/src/utility/edlib.C:42:
utility/src/utility/types.H: In function ‘int32 doubletoint32(double)’:
utility/src/utility/types.H:162:51: error: ‘lrint’ is not a member of ‘std’
inline int32 doubletoint32(double d) { return(std:: lrint(d)); }
^
utility/src/utility/types.H:162:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/edlib.H:45,
from utility/src/utility/edlib.C:42:
/usr/include/bits/mathcalls.h:326:1: note: ‘lrint’
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/files.H:23:0,
from utility/src/utility/files-buffered.C:20:
utility/src/utility/types.H: In function ‘int64 doubletoint64(double)’:
utility/src/utility/types.H:161:51: error: ‘llrint’ is not a member of ‘std’
inline int64 doubletoint64(double d) { return(std::llrint(d)); }
^
utility/src/utility/types.H:161:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/files.H:23,
from utility/src/utility/files-buffered.C:20:
/usr/include/bits/mathcalls.h:327:1: note: ‘llrint’
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/files.H:23:0,
from utility/src/utility/files-buffered.C:20:
utility/src/utility/types.H: In function ‘int32 doubletoint32(double)’:
utility/src/utility/types.H:162:51: error: ‘lrint’ is not a member of ‘std’
inline int32 doubletoint32(double d) { return(std:: lrint(d)); }
^
utility/src/utility/types.H:162:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/files.H:23,
from utility/src/utility/files-buffered.C:20:
/usr/include/bits/mathcalls.h:326:1: note: ‘lrint’
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/files.H:23:0,
from utility/src/utility/files.C:20:
utility/src/utility/types.H: In function ‘int64 doubletoint64(double)’:
utility/src/utility/types.H:161:51: error: ‘llrint’ is not a member of ‘std’
inline int64 doubletoint64(double d) { return(std::llrint(d)); }
^
utility/src/utility/types.H:161:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/files.H:23,
from utility/src/utility/files.C:20:
/usr/include/bits/mathcalls.h:327:1: note: ‘llrint’
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/files.H:23:0,
from utility/src/utility/files.C:20:
utility/src/utility/types.H: In function ‘int32 doubletoint32(double)’:
utility/src/utility/types.H:162:51: error: ‘lrint’ is not a member of ‘std’
inline int32 doubletoint32(double d) { return(std:: lrint(d)); }
^
utility/src/utility/types.H:162:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/files.H:23,
from utility/src/utility/files.C:20:
/usr/include/bits/mathcalls.h:326:1: note: ‘lrint’
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/files.H:23:0,
from utility/src/utility/files-compressed.C:20:
utility/src/utility/types.H: In function ‘int64 doubletoint64(double)’:
utility/src/utility/types.H:161:51: error: ‘llrint’ is not a member of ‘std’
inline int64 doubletoint64(double d) { return(std::llrint(d)); }
^
utility/src/utility/types.H:161:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/files.H:23,
from utility/src/utility/files-compressed.C:20:
/usr/include/bits/mathcalls.h:327:1: note: ‘llrint’
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
^
In file included from utility/src/utility/files.H:23:0,
from utility/src/utility/files-compressed.C:20:
utility/src/utility/types.H: In function ‘int32 doubletoint32(double)’:
utility/src/utility/types.H:162:51: error: ‘lrint’ is not a member of ‘std’
inline int32 doubletoint32(double d) { return(std:: lrint(d)); }
^
utility/src/utility/types.H:162:51: note: suggested alternative:
In file included from /usr/include/features.h:375:0,
from /usr/include/stdio.h:27,
from utility/src/utility/types.H:48,
from utility/src/utility/files.H:23,
from utility/src/utility/files-compressed.C:20:
/usr/include/bits/mathcalls.h:326:1: note: ‘lrint’
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
^
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-format-truncation’
make[1]: *** [/home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/files-buffe red.o] Error 1
make[1]: *** Waiting for unfinished jobs....
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-format-truncation’
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-format-truncation’
make[1]: *** [/home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/files.o] Er ror 1
make[1]: *** [/home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/files-compr essed.o] Error 1
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-format-truncation’
make[1]: *** [/home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/edlib.o] Er ror 1
make[1]: Leaving directory `/home/ONT/tools/git_clone/Winnowmap/ext/meryl/src'
make: *** [winnowmap] Error 2
Try including cmath
and see if it resolves the error.
Make the code change in this file https://github.com/marbl/Winnowmap/blob/45078cfa10de38a5521c21fb80d3ee3b06e4060d/ext/meryl/src/utility/src/utility/types.H#L48
Add #include <cmath>
Reference: https://www.enseignement.polytechnique.fr/informatique/INF478/docs/Cpp/en/cpp/numeric/math/rint.html
@cjain7 Thank you for your advice
After I add #inculde <cmath>
in the header file, the error was solved.
But I got another error is
g++ -o /home/ONT/tools/git_clone/Winnowmap/ext/meryl/build/obj/lib/libmeryl.a/utility/src/utility/bits.o -c -MD -g3 -O4 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer -Wall -Wextra -Wformat -Wno-char-subscripts -Wno-sign-compare -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-declarations -Wno-format-truncation -std=c++17 -pthread -fopenmp -fPIC -DNOBACKTRACE -I/home/ONT/tools/git_clone/Winnowmap/ext/meryl/src -Imeryl -Iutility utility/src/utility/bits.C
utility/src/utility/bits.C:56:42: error: expected ‘,’ before ‘)’ token
static_assert(__fibNum(45) < __fibNum(46)); // Fails if 32-bit signed
^
utility/src/utility/bits.C:56:42: error: expected string-literal before ‘)’ token
utility/src/utility/bits.C:57:42: error: expected ‘,’ before ‘)’ token
static_assert(__fibNum(46) < __fibNum(47)); // Fails if 32-bit unsigned
^
utility/src/utility/bits.C:57:42: error: expected string-literal before ‘)’ token
utility/src/utility/bits.C:58:42: error: expected ‘,’ before ‘)’ token
static_assert(__fibNum(91) < __fibNum(92)); // Fails if 64-bit signed
^
utility/src/utility/bits.C:58:42: error: expected string-literal before ‘)’ token
should I open another issue for that ?
Best, Gray
Hi Gray-
First, did you do anything other than git clone winnowmap; make
, like updating the meryl/ or utility/ submodules? If so, in winnowmap itself, do a git submodule update
to reset their state to what winnowmap is expecting.
Your logging shows Using '/usr/local/bin/g++' version '5.4.0'.
and it's entirely possible that doesn't fully support the C++ features I'm using here. The fix is reasonably simple: add an empty string as a second parameter in those static_assert() calls:
static_assert(__fibNum(46) < __fibNum(47), "failed"); // Fails if 32-bit unsigned
An alternative (potential) solution is to change -std=c++11
in Makefile
to -std=c++17
.
@brianwalenz, Thank you for your advice
I modified the Winnowmap/ext/meryl/src/utility/src/utility/types.H
(thanks cjain7) to solve ‘lrint’ issue.
Now I finished compliing meryl after adding a "fail" string in static_assert() in Winnowmap/ext/meryl/src/utility/src/utility/bits.C
Here is the modified code:
static_assert(__fibNum(45) < __fibNum(46), "fail"); // Fails if 32-bit signed
static_assert(__fibNum(46) < __fibNum(47), "fail"); // Fails if 32-bit unsigned
static_assert(__fibNum(91) < __fibNum(92), "fail"); // Fails if 64-bit signed
//atic_assert(__fibNum(92) < __fibNum(93)); // Always fails.
Very thanks Gray
Hi Thank you for this tool. I have some human WGS ONT data and want to analysis SV events. I try to compile Winnowmap but I got an error:
and only
winnowmap
in bin folder (meryl
doesn't find.)My OS is CentOS 7 and gcc version is 5.4.0
How can I do?
Best, Gray