mahulchak / quickmerge

A simple and fast metassembler and assembly gap filler designed for long molecule based assemblies.
GNU General Public License v3.0
192 stars 31 forks source link

fatal error: iostream: No such file or directory #45

Open haiyang-li opened 4 years ago

haiyang-li commented 4 years ago

[root@localhost Quick1]# sh make_merger.sh g++ -O3 -Wall -o quickmerge quickmerge.cpp qmergelib.cpp -I. quickmerge.cpp:8:19: fatal error: iostream: No such file or directory

include

               ^

compilation terminated. qmergelib.cpp:1:19: fatal error: iostream: No such file or directory

include

               ^

compilation terminated. make: * [quickmerge] Error 1** mkdir: cannot create directory ‘aux_bin’: File exists check complete cd /home/tools/Quick1/MUMmer3.23/src/kurtz; make mummer make[1]: Entering directory /home/tools/Quick1/MUMmer3.23/src/kurtz' cd libbasedir; make libbase.a make[2]: Entering directory/home/tools/Quick1/MUMmer3.23/src/kurtz/libbasedir' /usr/local/bin/gcc -O3 -c -o cleanMUMcand.o cleanMUMcand.c In file included from types.h:13:0, from cleanMUMcand.c:11: /usr/include/sys/types.h:146:20: fatal error: stddef.h: No such file or directory

include

                ^

compilation terminated. make[2]: [cleanMUMcand.o] Error 1 make[2]: Leaving directory `/home/tools/Quick1/MUMmer3.23/src/kurtz/libbasedir' make[1]: [mummer] Error 2 make[1]: Leaving directory `/home/tools/Quick1/MUMmer3.23/src/kurtz' make: *** [kurtz] Error 2 [root@localhost Quick1]# ls quickmerge-0.3.tar.gz [root@localhost Quick1]# tar -xjvf quickmerge-0.3.tar.gz bzip2: (stdin) is not a bzip2 file. tar: Child returned status 2 tar: Error is not recoverable: exiting now

mahulchak commented 4 years ago

Hi, What is your compiler? quickmerge has been tested only with gcc.

On Mon, Oct 7, 2019 at 1:00 AM haiyang-li notifications@github.com wrote:

[root@localhost Quick1]# sh make_merger.sh g++ -O3 -Wall -o quickmerge quickmerge.cpp qmergelib.cpp -I. quickmerge.cpp:8:19: fatal error: iostream: No such file or directory

include

^ compilation terminated. qmergelib.cpp:1:19: fatal error: iostream: No such file or directory

include

^ compilation terminated. make: ** [quickmerge] Error 1* mkdir: cannot create directory ‘aux_bin’: File exists check complete cd /home/tools/Quick1/MUMmer3.23/src/kurtz; make mummer make[1]: Entering directory /home/tools/Quick1/MUMmer3.23/src/kurtz' cd libbasedir; make libbase.a make[2]: Entering directory /home/tools/Quick1/MUMmer3.23/src/kurtz/libbasedir' /usr/local/bin/gcc -O3 -c -o cleanMUMcand.o cleanMUMcand.c In file included from types.h:13:0, from cleanMUMcand.c:11: /usr/include/sys/types.h:146:20: fatal error: stddef.h: No such file or directory

include

^ compilation terminated. make[2]: [cleanMUMcand.o] Error 1 make[2]: Leaving directory /home/tools/Quick1/MUMmer3.23/src/kurtz/libbasedir' make[1]: [mummer] Error 2 make[1]: Leaving directory /home/tools/Quick1/MUMmer3.23/src/kurtz' make: *** [kurtz] Error 2 [root@localhost Quick1]# ls quickmerge-0.3.tar.gz [root@localhost Quick1]# tar -xjvf quickmerge-0.3.tar.gz bzip2: (stdin) is not a bzip2 file. tar: Child returned status 2 tar: Error is not recoverable: exiting now

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mahulchak/quickmerge/issues/45?email_source=notifications&email_token=ABZQH2HQJQS2XUUFRHOFSNTQNLUABA5CNFSM4I6BADX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HP7TKWQ, or mute the thread https://github.com/notifications/unsubscribe-auth/ABZQH2EUNOPODGFFIK7VF63QNLUABANCNFSM4I6BADXQ .

-- Mahul Chakraborty Department of Ecology and Evolutionary Biology University of California-Irvine Phone: 949 824 9559 Fax: 949 824 9559 Website: https://mahulchakraborty.wordpress.com/ Github: https://github.com/mahulchak

jgbaldwinbrown commented 4 years ago

Hi all, I can't say if this will work, but it sounds like you're missing the header file, which is part of the C++ standard library. Try compiling using the built-in 'make_merger.sh' script. If that doesn't work, it might be a good idea to try explicitly including the standard library with the following g++ invocation: g++ -g -Wall -std=c++0x -O3 -I . -c qmergelib.cpp -lstdc++ g++ -g -Wall -std=c++0x -O3 -I . -c parser.cpp -lstdc++ g++ -g -Wall -std=c++0x -O3 -I . -c errorlib.cpp -lstdc++ g++ -g -Wall -std=c++0x -O3 -I . -c quickmerge.cpp -lstdc++ ln -s merger/quickmerge ../quickmerge -lstdc++ g++ -g -Wall -std=c++0x -O3 -I . -o quickmerge qmergelib.o errorlib.o parser.o quickmerge.o -lstdc++

Mahul, does this seem reasonable to you?

haiyang-li commented 4 years ago

when I install using 'make_merger.sh', there were a lot of warning. such as: show-coords.cc:799:10: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] type = "NUCMER"; ^ show-coords.cc:801:10: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings] type = "PROMER"; ^ show-coords.cc:803:10: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

In any case, that final installation is complete.

And, when I use the examples,it works well. cmd:

quickmerge -d out.rq.delta -q H_pyloriJ99_Bslice.fasta -r H_pyloriJ99_Eslice.fasta -hco 5.0 -c 1.5 -l 10000 -ml 5000 -p out

But when I use my data, it says : terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr Aborted (core dumped)

my cmd :

nucmer -l 100 -prefix CANUSMART aaa.dmo.cns bbb.contigs.fasta

delta-filter -r -q -l 10000 CANUSMART.delta > CANUSMART.rq.delta

quickmerge -d CANUSMART.rq.delta -q bbb.contigs.fasta -r aaa.dmo.cns -hco 5.0 -c 1.5 -l 500000 -ml 5000 -p CANUSMART

mahulchak commented 4 years ago

Did your second command work (the one with CANUSMART)?