BenLangmead / bowtie2

A fast and sensitive gapped read aligner
GNU General Public License v3.0
638 stars 160 forks source link

Compiling from source only produces -debug binaries #438

Open leannmlindsey opened 1 year ago

leannmlindsey commented 1 year ago

Hello,

I am trying to compile from source and these are the instructions I am using:

mkdir build cd build cmake make

And the output binary files that are produced are only these:

bowtie2-inspect-s-debug bowtie2-build-l-debug bowtie2-align-s-debug bowtie2-align-l-debug bowtie2-build-s-debug bowtie2-inspect-l-debug

but when I download the binary and unzip there are more binaries including:

bowtie2-inspect bowtie2-build bowtie2

Which are the correct binaries that I need to run not in debug mode.

I then tried downloading the source to match the release binary and compiling to see if it produced all of the correct binaries, but it also produces only the debug binaries.

Am I missing a flag or something to compile correctly? I could not find any compiling instructions on this github. I did try compiling with

cmake --CMAKE_BUILD_TYPE=Release .. make

but that also had only the debug binaries.

Any help you can give would be greatly appreciated. Thank you.

ch4rr0 commented 1 year ago

Hello,

The standard Makefile can build both debug and release binaries in one invocation of the make command. With CMake you have a choice between either debug or release mode. Debug mode is enabled by default in the current release of bowtie2, but this will change in the upcoming release. To have CMake produce release binaries for the make build system, try running the following command:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..

As far as I am aware CMake does not have a --CMAKE_BUILD_TYPE=Release flag.

Here's the output of sample run:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.3
Thread model: posix
InstalledDir: /usr/bin
-- Configuring done
-- Generating done
-- Build files have been written to: /git/bowtie2

~/Development/git/bowtie2 $ make bowtie2-align-s
[  0%] Building CXX object CMakeFiles/bowtie2-align-s.dir/qual.cpp.o
[  3%] Building CXX object CMakeFiles/bowtie2-align-s.dir/pat.cpp.o
[  3%] Building CXX object CMakeFiles/bowtie2-align-s.dir/sam.cpp.o
[  6%] Building CXX object CMakeFiles/bowtie2-align-s.dir/read_qseq.cpp.o
[ 10%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_seed_policy.cpp.o
[ 10%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_seed.cpp.o
[ 13%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_seed2.cpp.o
[ 13%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_sw.cpp.o
[ 17%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_sw_driver.cpp.o
[ 20%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_cache.cpp.o
[ 20%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_result.cpp.o
[ 24%] Building CXX object CMakeFiles/bowtie2-align-s.dir/ref_coord.cpp.o
[ 27%] Building CXX object CMakeFiles/bowtie2-align-s.dir/mask.cpp.o
[ 27%] Building CXX object CMakeFiles/bowtie2-align-s.dir/pe.cpp.o
[ 31%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aln_sink.cpp.o
[ 31%] Building CXX object CMakeFiles/bowtie2-align-s.dir/dp_framer.cpp.o
[ 34%] Building CXX object CMakeFiles/bowtie2-align-s.dir/scoring.cpp.o
[ 37%] Building CXX object CMakeFiles/bowtie2-align-s.dir/presets.cpp.o
[ 37%] Building CXX object CMakeFiles/bowtie2-align-s.dir/unique.cpp.o
[ 41%] Building CXX object CMakeFiles/bowtie2-align-s.dir/simple_func.cpp.o
[ 41%] Building CXX object CMakeFiles/bowtie2-align-s.dir/random_util.cpp.o
[ 44%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_bt.cpp.o
[ 48%] Building CXX object CMakeFiles/bowtie2-align-s.dir/sse_util.cpp.o
[ 48%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_swsse.cpp.o
[ 51%] Building CXX object CMakeFiles/bowtie2-align-s.dir/outq.cpp.o
[ 55%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_swsse_loc_i16.cpp.o
[ 55%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_swsse_ee_i16.cpp.o
[ 58%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_swsse_loc_u8.cpp.o
[ 58%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_swsse_ee_u8.cpp.o
[ 62%] Building CXX object CMakeFiles/bowtie2-align-s.dir/aligner_driver.cpp.o
[ 65%] Building CXX object CMakeFiles/bowtie2-align-s.dir/bowtie_main.cpp.o
[ 65%] Building CXX object CMakeFiles/bowtie2-align-s.dir/bt2_search.cpp.o
[ 68%] Building CXX object CMakeFiles/bowtie2-align-s.dir/ccnt_lut.cpp.o
[ 72%] Building CXX object CMakeFiles/bowtie2-align-s.dir/ref_read.cpp.o
[ 72%] Building CXX object CMakeFiles/bowtie2-align-s.dir/alphabet.cpp.o
[ 75%] Building CXX object CMakeFiles/bowtie2-align-s.dir/shmem.cpp.o
[ 75%] Building CXX object CMakeFiles/bowtie2-align-s.dir/edit.cpp.o
[ 79%] Building CXX object CMakeFiles/bowtie2-align-s.dir/bt2_idx.cpp.o
[ 82%] Building CXX object CMakeFiles/bowtie2-align-s.dir/bt2_io.cpp.o
[ 82%] Building CXX object CMakeFiles/bowtie2-align-s.dir/bt2_locks.cpp.o
[ 86%] Building CXX object CMakeFiles/bowtie2-align-s.dir/bt2_util.cpp.o
[ 86%] Building CXX object CMakeFiles/bowtie2-align-s.dir/reference.cpp.o
[ 89%] Building CXX object CMakeFiles/bowtie2-align-s.dir/ds.cpp.o
[ 93%] Building CXX object CMakeFiles/bowtie2-align-s.dir/multikey_qsort.cpp.o
[ 93%] Building CXX object CMakeFiles/bowtie2-align-s.dir/limit.cpp.o
[ 96%] Building CXX object CMakeFiles/bowtie2-align-s.dir/random_source.cpp.o
[100%] Linking CXX executable bowtie2-align-s
[100%] Built target bowtie2-align-s

N.B. depending of the version of CMake you may need to delete the CMakeFiles and CMakeCache.txt so that the configuration change can take effect.

Hope this helps.