I have a problem building tophat 2.1.0 on Debian jessie. Running configure does not seem to produce errors (see below) but running make causes fails with
#some output omitted here
Makefile:1347: recipe for target 'reads.o' failed
make[2]: *** [reads.o] Error 1
make[2]: Leaving directory '/home/pommy/inst/tophat-2.1.0/src'
Makefile:313: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pommy/inst/tophat-2.1.0'
Makefile:253: recipe for target 'all' failed
make: *** [all] Error 2
Here are the configuration results
- tophat 2.1.0 Configuration Results
C++ compiler: g++ -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wuninitialized -O3 -DNDEBUG -I./samtools-0.1.18 -pthread -I/home/pommy/include -I./SeqAn-1.3
Linker flags: -L./samtools-0.1.18 -L/home/pommy/lib
BOOST libraries: -lboost_thread -lboost_system
GCC version: gcc (Debian 4.9.2-10) 4.9.2
Host System type: x86_64-unknown-linux-gnu
Install prefix: /home/pommy
Install eprefix: ${prefix}
I think that it is probably related to TopHat's issue 7 on Github. On Debian, we solved it by building TopHat with a more recent version of SeqAn. I am preparing a backport for Jessie and will let you know when it is available.
Backport done (see my answer below)... and I just saw that TopHat 2.1.1 was released in the meantime !
The real error is in the omitted output. Try to locate it to find out what fails.
Ok here is the whole part corresponding to reads.o compilation. I don't understand where is the actual error
The cause is on the line that has the word 'error'. It could be an issue with the version of GCC you're using for compiling. In my experience, newer versions tend to be stricter and turn what was warnings for older versions into errors. Otherwise, it looks like it could be a bug in the software. You may want to contact the developers.