loneknightpy / idba

124 stars 53 forks source link

idba-1.1.1: 'make install' does not install all binaries #23

Open mmokrejs opened 7 years ago

mmokrejs commented 7 years ago

Hi, it seems something is wrong with the install target in Makefile. I see the binaries were compiled:


x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o idba_hybrid idba_hybrid.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o sort_reads sort_reads.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o parallel_rna_blat parallel_rna_blat.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o test test.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o print_graph print_graph.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o validate_rna validate_rna.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o scaffold scaffold.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o shuffle_reads shuffle_reads.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o fa2fq fa2fq.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o validate_contigs_mummer validate_contigs_mummer.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o filter_blat filter_blat.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o sort_psl sort_psl.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o validate_reads_blat validate_reads_blat.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o validate_component validate_component.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o filter_contigs filter_contigs.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o sample_reads sample_reads.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o split_fq split_fq.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o idba_tran_test idba_tran_test.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o split_fa split_fa.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o fq2fa fq2fa.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o raw_n50 raw_n50.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o parallel_blat parallel_blat.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o split_scaffold split_scaffold.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o validate_contigs_blat validate_contigs_blat.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o filterfa filterfa.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o sim_reads sim_reads.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o idba_ud idba_ud.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o sim_reads_tran sim_reads_tran.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o idba_tran idba_tran.o  ../lib/libassembly.a
x86_64-pc-linux-gnu-g++ -Wall -O3 -fopenmp -pthread -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -fopenmp -pthread -Wl,-O1 -Wl,--as-needed -o idba idba.o  ../lib/libassembly.a
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/bin'

but copied into ${DESTDIR} were only:

make -j2 DESTDIR=/scratch/var/tmp/portage/sci-biology/idba-1.1.1/image/ install 
Making install in lib
make[1]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/lib'
make[2]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/lib'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/lib'
make[1]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/lib'
Making install in bin
make[1]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/bin'
make[2]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/bin'
make[2]: Nothing to be done for 'install-data-am'.
 /bin/mkdir -p '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/image//usr/bin'
  /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c idba_hybrid '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/image//usr/bin'
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/bin'
make[1]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/bin'
Making install in test
make[1]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/test'
make[2]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/test'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/test'
make[1]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/test'
Making install in script
make[1]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/script'
make[2]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/script'
make[2]: Nothing to be done for 'install-data-am'.
 /bin/mkdir -p '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/image//usr/bin'
 /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c scan.py run-unittest.py validate_blat validate_blat_parallel '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/image//usr/bin'
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/script'
make[1]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1/script'
make[1]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1'
make[2]: Entering directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1'
make[1]: Leaving directory '/scratch/var/tmp/portage/sci-biology/idba-1.1.1/work/idba-1.1.1'
>>> Completed installing idba-1.1.1 into /scratch/var/tmp/portage/sci-biology/idba-1.1.1/image/

So, I ended up with only these installed:

/usr
/usr/bin
/usr/bin/idba_hybrid
/usr/bin/run-unittest.py
/usr/bin/scan.py
/usr/bin/validate_blat
/usr/bin/validate_blat_parallel
/usr/share
/usr/share/doc
/usr/share/doc/idba-1.1.1
/usr/share/doc/idba-1.1.1/AUTHORS
/usr/share/doc/idba-1.1.1/README.bz2
mmokrejs commented 7 years ago

I think the compilation should process in src/ or whichever other directory and the binaries only copied to bin/ at the very end.

To work around the above issue I thought to install all bin/*files but before that I have to do:

rm bin/test bin/*.o bin/Makefile*

Further, "make install" places scan.py and run-unittest.py into ${DESTDIR}/usr/bin/, which seems to be mistake.

Further, I am not sure if idba_tran_test is an executable meant for end users or not.

loneknightpy commented 7 years ago

@mmokrejs I think the easier way to install is to copy the executable in bin folder to the /usr/local/bin or other dir in your PATH.

mmokrejs commented 7 years ago

No, it is not, because the documentation is missing and 'make install' does only half of the job, whcih is just confusing. Please improve the Makefile rules.