I again downloaded the tool and did the compilation as u suggested and it worked. Now I got your point. The order of my commands was wrong. I am really happy and grateful to Mensur Dlakic for your help and the way you cleared my concept. Thanks
Dear all,
I am really sorry to ask for 3rd time in a day. But I am stuck at popbam compilation. I have run the commands for compilation
make
make clean
No error occured with these commands. But when I type the command starting with popbam, error appears
popbam: command not found
I have also tried
sudo make install
But I get error
g++ -o popbam popbam.o pop_utils.o pop_sample.o pop_tree.o pop_snp.o pop_nucdiv.o pop_ld.o pop_sfs.o pop_diverge.o pop_haplo.o getopt_pp.o gamma.o bam_aux.o bam.o bam_index.o faidx.o kstring.o bgzf.o sam_header.o bam_import.o razf.o sam.o bam_pileup.o -lz -lm
/usr/bin/ld: bam_index.o: in function `ks_combsort_off':
bam_index.c:(.text+0x970): undefined reference to `__ks_insertsort_off'
/usr/bin/ld: bam_index.o: in function `ks_introsort_off':
bam_index.c:(.text+0xd5a): undefined reference to `__ks_insertsort_off'
/usr/bin/ld: bgzf.o: in function `deflate_block':
bgzf.c:(.text+0x1552): undefined reference to `packInt16'
/usr/bin/ld: bgzf.c:(.text+0x15ba): undefined reference to `packInt32'
/usr/bin/ld: bgzf.c:(.text+0x15e1): undefined reference to `packInt32'
/usr/bin/ld: bgzf.o: in function `check_header':
bgzf.c:(.text+0x1860): undefined reference to `unpackInt16'
/usr/bin/ld: bgzf.c:(.text+0x18a7): undefined reference to `unpackInt16'
/usr/bin/ld: bgzf.o: in function `bgzf_read_block':
bgzf.c:(.text+0x1d20): undefined reference to `unpackInt16'
collect2: error: ld returned 1 exit status
make: *** [Makefile:43: popbam] Error 1
Please help me in resolving the issue. I shall be very thankful to you.
1 answer
Running make and make clean does the compilation, followed by cleaning everything that was done in the first step. It is like making a cake, throwing it in thrash, and then asking Where is the cake?
I don't see how make works without error but sudo make install fails with the type of error you showed. A common way of doing this is make followed by sudo make install. If the first command goes without any problem, the second should as well (assuming you have sudo privilege).
Since you have probably altered the directory, it may be best to start fresh, or try like this:
make clean
make
sudo make install
Log in to answer this question.
search the web for
bash PATH command not foundwhen you executed make, make install and make clean and it run's okay, then the compiled binary in general would be in the compiled directory it self or within bin folder of compiled directory. Check if the compiled binary is present in directory where you have compiled. If it's there check if it is executable. If it is executable, then execute it either by running
./popbamor move it to your shell path.