aquaskyline / SOAPdenovo2

Next generation sequencing reads de novo assembler.
GNU General Public License v3.0
220 stars 78 forks source link

SOAPdenovo2 installation error #88

Open AbRawoof opened 1 year ago

AbRawoof commented 1 year ago

Hello I tried to install SOAPdenovo2 using the following in ubuntu (22.04.2 LTS) terminal $ git https://github.com/aquaskyline/SOAPdenovo2.git $ cd SOAPdenovo2

Then tried to install using make and make clean but got error related to multiple definition as shown below

SOAPdenovo2$ sudo make pregraph_sparse_63mer.v1.0.3 cleaning done.
pregraph_sparse_63mer.v1.0.3 objects generated.
SOAPdenovo-63mer cleaning done.
SOAPdenovo-63mer objects generated.
/usr/bin/ld: standardPregraph/attachPEinfo.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/bubble.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/check.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/compactEdge.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/concatenateEdge.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/connect.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/contig.o:(.bss+0x100): multiple definition of shortrdsfile'; sparsePregraph/global.o:(.bss+0x1e0): first defined here /usr/bin/ld: standardPregraph/contig.o:(.bss+0x0): multiple definition ofgraphfile'; sparsePregraph/global.o:(.bss+0xe0): first defined here /usr/bin/ld: standardPregraph/contig.o:(.bss+0x200): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/cutTipPreGraph.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/cutTip_graph.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/cutTip_graph2.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/hashFunction.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/iterate.o:(.bss+0x48): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/kmer.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/kmerhash.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/lib.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/linearEdge.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/loadGraph.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/loadPath.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/loadPreGraph.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/localAsm.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/main.o:(.bss+0x32c): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/map.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/mem_manager.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/newhash.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/node2edge.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/orderContig.o:(.bss+0xc): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/output_contig.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/output_pregraph.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/output_scaffold.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/pregraph.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/prlHashCtg.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/prlHashReads.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/prlRead2Ctg.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/prlRead2path.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/prlReadFillGap.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/read2edge.o:(.bss+0x0): multiple definition oflocks'; sparsePregraph/global.o:(.bss+0x70): first defined here /usr/bin/ld: standardPregraph/read2edge.o:(.bss+0x40): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/read2scaf.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/readInterval.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/readseq1by1.o:(.bss+0x8): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/scaffold.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/searchPath.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/seq.o:(.bss+0x0): multiple definition of b_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: standardPregraph/splitReps.o:(.bss+0x0): multiple definition ofb_ban'; standardPregraph/arc.o:(.bss+0x0): first defined here /usr/bin/ld: ./sparsePregraph/inc/libbam.a(bam.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld: failed to set dynamic section sizes: bad value collect2: error: ld returned 1 exit status make: *** [Makefile:58: SOAPdenovo-63mer] Error 1

#################################### Could anyone help in solving the installation issue.

spoonbender76 commented 1 year ago
  1. make clean

  2. Edit makefile. Add -no-pie in Line 58 and Line 62.

@$(CC) sparsePregraph/*.o standardPregraph/*.o -no-pie $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-63mer @$(CC) sparsePregraph/*.o standardPregraph/*.o -no-pie $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-127mer

  1. create a new conda env and install gcc9 by conda install -c conda-forge cxx-compiler=1.2.0 -y

  2. make

kakadaisy commented 11 months ago

pregraph_sparse_63mer.v1.0.3 cleaning done.
/bin/sh: 1: g++: not found..
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc build_graph.cpp /bin/sh: 1: g++: not found.
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc build_edge.cpp /bin/sh: 1: g++: not foundp...
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc multi_threads.cpp /bin/sh: 1: g++: not found...
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc build_preArc.cpp /bin/sh: 1: g++: not foundcpp...
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc pregraph_sparse.cpp /bin/sh: 1: g++: not found
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc io_func.cpp /bin/sh: 1: g++: not found
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc global.cpp /bin/sh: 1: g++: not foundvo.cpp...
Error in command: g++ -c -O3 -fomit-frame-pointer -w -D63MER -m64 -I./inc convert_soapdenovo.cpp pregraph_sparse_63mer.v1.0.3 objects generated.
/bin/sh: 1: gcc: not found expr: 语法错误:未预期的参数 "4" /bin/sh: 1: gcc: not found expr: 语法错误:未预期的参数 "4" SOAPdenovo-63mer cleaning done.
/bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc arc.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc attachPEinfo.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc bubble.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc check.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc compactEdge.c /bin/sh: 1: gcc: not foundc...
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc concatenateEdge.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc connect.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc contig.c /bin/sh: 1: gcc: not found...
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc cutTipPreGraph.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc cutTip_graph.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc darray.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc dfib.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc dfibHeap.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc fib.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc fibHeap.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc hashFunction.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc kmer.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc lib.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc loadGraph.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc loadPath.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc loadPreGraph.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc localAsm.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc main.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc map.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc mem_manager.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc newhash.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc node2edge.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc orderContig.c /bin/sh: 1: gcc: not found..
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc output_contig.c /bin/sh: 1: gcc: not foundc...
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc output_pregraph.c /bin/sh: 1: gcc: not foundc...
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc output_scaffold.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc pregraph.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc prlHashCtg.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc prlHashReads.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc prlRead2Ctg.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc prlRead2path.c /bin/sh: 1: gcc: not found...
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc prlReadFillGap.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc read2scaf.c /bin/sh: 1: gcc: not found.
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc readInterval.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc stack.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc readseq1by1.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc scaffold.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc searchPath.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc seq.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc splitReps.c /bin/sh: 1: gcc: not found..
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc cutTip_graph2.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc linearEdge.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc kmerhash.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc read2edge.c /bin/sh: 1: gcc: not found
Error in command: gcc -c -O3 -fomit-frame-pointer -w -DMER63 -m64 -Iinc iterate.c SOAPdenovo-63mer objects generated.
/bin/sh: 1: g++: not found make: *** [Makefile:58:SOAPdenovo-63mer] 错误 127 ############################################## Could anyone help in solving the installation issue? supplement:I also successfully solved it using the above method from spoonbender67.

jomfer commented 8 months ago
  1. make clean
  2. Edit makefile. Add -no-pie in Line 58 and Line 62.

@$(CC) sparsePregraph/*.o standardPregraph/*.o -no-pie $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-63mer @$(CC) sparsePregraph/*.o standardPregraph/*.o -no-pie $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-127mer

  1. create a new conda env and install gcc9 by conda install -c conda-forge cxx-compiler=1.2.0 -y
  2. make

This solved the problem for me. Thanks a lot!