After I managed to get seqan-2.0.9 compiled&installed with its header files tophat does not stop when looking for x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src -I.. -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -DNDEBUG -pthread -I/usr/include -I/usr/include -I./SeqAn-1.3 -c -o bwt_map.o /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/bwt_map.cpp /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/reads.cpp:21:24: fatal error: seqan/find.h: No such file or directory #include <seqan/find.h> ^ compilation terminated. Makefile:1335: recipe for target 'reads.o' failed make[2]: *** [reads.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/bwt_map.cpp:21:28: fatal error: seqan/sequence.h: No such file or directory #include <seqan/sequence.h> ^ compilation terminated. Makefile:1335: recipe for target 'bwt_map.o' failed make[2]: *** [bwt_map.o] Error 1 make[2]: Leaving directory '/mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9_build/src' That is good, but now I get: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src -I.. -O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native -DNDEBUG -pthread -I/usr/include -I/usr/include -I./SeqAn-1.3 -c -o bwt_map.o /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/bwt_map.cpp In file included from /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/bwt_map.cpp:26:0: /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h: In member function 'void GBamRecord::add_aux(const char*, char, int, uint8_t*)': /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h:372:10: error: 'struct bam1_t' has no member named 'l_aux' b->l_aux += 3 + len + addz; ^ /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h: In member function 'void GBamWriter::write(bam1_t*, int64_t)': /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h:598:35: error: 'BAM_CORE_SIZE' was not declared in this scope int data_len = b->data_len+BAM_CORE_SIZE; ^ In file included from /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/reads.h:17:0, from /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/reads.cpp:25: /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h: In member function 'void GBamRecord::add_aux(const char*, char, int, uint8_t*)': /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h:372:10: error: 'struct bam1_t' has no member named 'l_aux' b->l_aux += 3 + len + addz; ^ /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h: In member function 'void GBamWriter::write(bam1_t*, int64_t)': /mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9/src/common.h:598:35: error: 'BAM_CORE_SIZE' was not declared in this scope int data_len = b->data_len+BAM_CORE_SIZE; ^ Makefile:1335: recipe for target 'bwt_map.o' failed make[2]: *** [bwt_map.o] Error 1 make[2]: *** Waiting for unfinished jobs.... Makefile:1335: recipe for target 'reads.o' failed make[2]: *** [reads.o] Error 1 make[2]: Leaving directory '/mnt/1TB/var/tmp/portage/sci-biology/tophat-2.0.9/work/tophat-2.0.9_build/src' Seems it was "only?" aimed for seqan-1.3 (see the -I./SeqAn-1.3 above).
Created attachment 401376 [details] build.log
Created attachment 401378 [details] config.log
Created attachment 401380 [details] config.status
(In reply to Martin Mokrejš from comment #0) > Seems it was "only?" aimed for seqan-1.3 (see the -I./SeqAn-1.3 above). I feared that. But seqan-1.3 doesn't compile cleanly. And I don't know how to fix the nasty c++ bugs.
*** Bug 549884 has been marked as a duplicate of this bug. ***
It seems that it requires <sci-biology/seqan-1.4. As seqan-1.3.1-r1 does build properly - marking this as FIXED commit 2dfd0d1135bd7e78005d7c72ef253ada96f985ce Author: Sergey Popov <pinkbyte@gentoo.org> Date: Mon Oct 19 23:45:48 2015 +0300 sci-biology/tophat: correct dependency on sci-biology/seqan Gentoo-Bug: 546816 Package-Manager: portage-2.2.20
I know Justin is too busy so he did not get to process some of my privately sent emails. So, to recap for others: seqAn library is a mis-nomer. It is a bunch of headers and no *.so or *.a files. There never were any such. Look for my bug reports at the seqan website (actually github Issues). Tophat ebuilds should all drop dependency on sci-biology/seqan and use the bundled seqan sources (read headers). In case they fail to build in some corner cases we should patch the bundled code using a patch generally attached to sci-biology/seqan. If you want, cherry-pick the sed hackery from seqan-1.3.1-r1.ebuild to all packages containing bundled seqan sources. sci-biology/seqan packages could stay as it is now but only active programmers will need to install it. Alternatively, we would need SLOTted tophat and several other packages (search sci-biology also in sci overlay for packages with DEPEND) ebuilds to provide multiple version of SeqAn headers to the user, pretty much useless the 3rd-party apps always contain a bundled = required seqan version. So, feel free to drop the seqan DEPENDencies from all tophat ebuilds. REOPENING.
commit 3bae7944956edffc244eb7d8e55bc0c786013ed0 Author: David Seifert <soap@gentoo.org> Date: Sat Apr 9 20:37:04 2016 +0200 sci-biology/tophat: Version bump, use samtools:0.1-legacy Gentoo-Bug: 545154, 546816, 566494, 572054 * EAPI=6 * Unbundle samtools and SeqAn * Fix broken shebangs in python scripts