Question: Tophat on Debian Jessie installlation problem
1
gravatar for Pommy
3.6 years ago by
Pommy10
Pommy10 wrote:

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 ommited 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}

 


 

rna-seq software error • 1.6k views
ADD COMMENTlink modified 8 months ago by Biostar ♦♦ 20 • written 3.6 years ago by Pommy10
2

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.

ADD REPLYlink written 3.5 years ago by Charles Plessy2.7k

Backport done (see my answer below)... and I just saw that TopHat 2.1.1 was released in the meantime !

ADD REPLYlink written 3.5 years ago by Charles Plessy2.7k

The real error is in the omitted output. Try to locate it to find out what fails.
 

ADD REPLYlink written 3.6 years ago by Jean-Karim Heriche20k

Ok here is the whole part corresponding to reads.o compilation. I don't understand where is the actual error

 

make  all-recursive
make[1]: Entering directory '/home/pommy/inst/tophat-2.1.0'
Making all in src
make[2]: Entering directory '/home/pommy/inst/tophat-2.1.0/src'
Makefile:1598: warning: overriding recipe for target 'libbam.a'
Makefile:1129: warning: ignoring old recipe for target 'libbam.a'
g++ -DHAVE_CONFIG_H -I. -I..     -Wall -Wno-strict-aliasing -g -gdwarf-2 -Wuninitialized  -O3  -DNDEBUG -I./samtools-0.1.18 -pthread -I/home/pommy/include -I./SeqAn-1.3 -MT reads.o -MD -MP -MF .deps/reads.Tpo -c -o reads.o reads.cpp
In file included from ./SeqAn-1.3/seqan/basic.h:83:0,
                 from ./SeqAn-1.3/seqan/sequence.h:50,
                 from ./SeqAn-1.3/seqan/find.h:43,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/basic/basic_holder.h: In function ‘typename seqan::Reference<seqan::Holder<TValue, seqan::Tristate> >::Type seqan::value(seqan::Holder<TValue, seqan::Tristate>&)’:
./SeqAn-1.3/seqan/basic/basic_holder.h:992:35: warning: typedef ‘THolder’ locally defined but not used [-Wunused-local-typedefs]
  typedef Holder<TValue, Tristate> THolder;
                                   ^
./SeqAn-1.3/seqan/basic/basic_holder.h: In function ‘void seqan::assignValue(seqan::Holder<TValue, seqan::Tristate>&, const TSource&)’:
./SeqAn-1.3/seqan/basic/basic_holder.h:1022:58: warning: typedef ‘THostValue’ locally defined but not used [-Wunused-local-typedefs]
  typedef typename Value<Holder<TValue, Tristate> >::Type THostValue;
                                                          ^
./SeqAn-1.3/seqan/basic/basic_holder.h: In function ‘void seqan::setValue(seqan::Holder<TValue, seqan::Tristate2>&, TValue&)’:
./SeqAn-1.3/seqan/basic/basic_holder.h:1520:59: warning: typedef ‘THolderType’ locally defined but not used [-Wunused-local-typedefs]
  typedef typename Value<Holder<TValue, Tristate2> >::Type THolderType;
                                                           ^
./SeqAn-1.3/seqan/basic/basic_holder.h: In function ‘typename seqan::Reference<seqan::Holder<TValue, seqan::Tristate2> >::Type seqan::value(seqan::Holder<TValue, seqan::Tristate2>&)’:
./SeqAn-1.3/seqan/basic/basic_holder.h:1545:59: warning: typedef ‘THolderType’ locally defined but not used [-Wunused-local-typedefs]
  typedef typename Value<Holder<TValue, Tristate2> >::Type THolderType;
                                                           ^
./SeqAn-1.3/seqan/basic/basic_holder.h: In function ‘void seqan::assignValue(seqan::Holder<TValue, seqan::Tristate2>&, const TSource&)’:
./SeqAn-1.3/seqan/basic/basic_holder.h:1569:59: warning: typedef ‘THostValue’ locally defined but not used [-Wunused-local-typedefs]
  typedef typename Value<Holder<TValue, Tristate2> >::Type THostValue;
                                                           ^
In file included from ./SeqAn-1.3/seqan/basic.h:88:0,
                 from ./SeqAn-1.3/seqan/sequence.h:50,
                 from ./SeqAn-1.3/seqan/find.h:43,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/basic/basic_allocator_chunkpool.h: In function ‘void seqan::deallocate(seqan::Allocator<seqan::ChunkPool<SIZE, MAX_COUNT, TParentAllocator> >&, TValue*, TSize, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/basic/basic_allocator_chunkpool.h:239:67: warning: typedef ‘TAllocator’ locally defined but not used [-Wunused-local-typedefs]
  typedef Allocator<ChunkPool<SIZE, MAX_COUNT, TParentAllocator> > TAllocator;
                                                                   ^
In file included from ./SeqAn-1.3/seqan/sequence.h:73:0,
                 from ./SeqAn-1.3/seqan/find.h:43,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/sequence/sequence_lexical.h: In function ‘void seqan::compare_(seqan::Lexical<TSpec>&, TLeft&, TRight&)’:
./SeqAn-1.3/seqan/sequence/sequence_lexical.h:260:38: warning: typedef ‘TLeftValue’ locally defined but not used [-Wunused-local-typedefs]
  typedef typename Value<TLeft>::Type TLeftValue;
                                      ^
./SeqAn-1.3/seqan/sequence/sequence_lexical.h:261:39: warning: typedef ‘TRightValue’ locally defined but not used [-Wunused-local-typedefs]
  typedef typename Value<TRight>::Type TRightValue;
                                       ^
In file included from ./SeqAn-1.3/seqan/sequence.h:87:0,
                 from ./SeqAn-1.3/seqan/find.h:43,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::assign(seqan::String<TValue, TSpec>&, const TSource&, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:919:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::assign(seqan::String<TValue, TSpec>&, const TSource&, TSize, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:929:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::assign(seqan::String<TValue, TSpec>&, const TSourceValue*, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:942:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::assign(seqan::String<TValue, TSpec>&, const TSourceValue*, TSize, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:952:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::append(seqan::String<TValue, TSpec>&, const TSource&, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1152:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::append(seqan::String<TValue, TSpec>&, const TSource&, typename seqan::Size<seqan::String<TValue, TSpec> >::Type, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1164:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::append(seqan::String<TValue, TSpec>&, TSourceValue*, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1178:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::append(seqan::String<TValue, TSpec>&, TSourceValue*, typename seqan::Size<seqan::String<TValue, TSpec> >::Type, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1190:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::replace(seqan::String<TValue, TSpec>&, TPositionBegin, TPositionEnd, const TSource&, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1358:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::replace(seqan::String<TValue, TSpec>&, TPositionBegin, TPositionEnd, const TSource&, typename seqan::Size<seqan::String<TValue, TSpec> >::Type, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1372:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::replace(seqan::String<TValue, TSpec>&, TPositionBegin, TPositionEnd, const TSourceValue*, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1388:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
./SeqAn-1.3/seqan/sequence/string_base.h: In function ‘void seqan::replace(seqan::String<TValue, TSpec>&, TPositionBegin, TPositionEnd, const TSourceValue*, typename seqan::Size<seqan::String<TValue, TSpec> >::Type, seqan::Tag<TUsage>)’:
./SeqAn-1.3/seqan/sequence/string_base.h:1402:47: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
     typedef String<TTargetValue, TTargetSpec> TTarget;
                                               ^
In file included from ./SeqAn-1.3/seqan/sequence.h:92:0,
                 from ./SeqAn-1.3/seqan/find.h:43,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/sequence/string_packed.h: In static member function ‘static typename seqan::Size<T>::Type seqan::ClearSpaceStringPacked_<TExpand>::_clearSpace_(T&, typename seqan::Size<T>::Type, typename seqan::Size<T>::Type, typename seqan::Size<T>::Type, typename seqan::Size<T>::Type)’:
./SeqAn-1.3/seqan/sequence/string_packed.h:655:54: warning: typedef ‘TIterator’ locally defined but not used [-Wunused-local-typedefs]
         typedef typename Iterator<T, Standard>::Type TIterator;
                                                      ^
In file included from ./SeqAn-1.3/seqan/sequence.h:102:0,
                 from ./SeqAn-1.3/seqan/find.h:43,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/sequence/string_set_dependent_tight.h: In function ‘typename seqan::Id<seqan::StringSet<TString, seqan::Dependent<const seqan::Tag<seqan::TagInsist_> > > >::Type seqan::assignValueById(seqan::StringSet<TString, seqan::Dependent<const seqan::Tag<seqan::TagInsist_> > >&, TString&, TId1)’:
./SeqAn-1.3/seqan/sequence/string_set_dependent_tight.h:232:45: warning: typedef ‘TSize’ locally defined but not used [-Wunused-local-typedefs]
     typedef typename Size<TStringSet>::Type TSize;
                                             ^
In file included from ./SeqAn-1.3/seqan/modifier.h:54:0,
                 from ./SeqAn-1.3/seqan/find.h:44,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/modifier/modifier_alphabet_expansion.h: In function ‘void seqan::_initializeAlphabetConversionTable(seqan::ModifiedAlphabet<THost, seqan::ModExpand<CHAR, TSpec> >*, const TSource&)’:
./SeqAn-1.3/seqan/modifier/modifier_alphabet_expansion.h:232:59: warning: typedef ‘TTarget’ locally defined but not used [-Wunused-local-typedefs]
  typedef ModifiedAlphabet<THost, ModExpand<CHAR, TSpec> > TTarget;
                                                           ^
./SeqAn-1.3/seqan/modifier/modifier_alphabet_expansion.h: In function ‘void seqan::_initializeAlphabetConversionTable(TTarget*, const seqan::ModifiedAlphabet<THost, seqan::ModExpand<CHAR, TSpec> >&)’:
./SeqAn-1.3/seqan/modifier/modifier_alphabet_expansion.h:343:59: warning: typedef ‘TSource’ locally defined but not used [-Wunused-local-typedefs]
  typedef ModifiedAlphabet<THost, ModExpand<CHAR, TSpec> > TSource;
                                                           ^
./SeqAn-1.3/seqan/modifier/modifier_alphabet_expansion.h: In function ‘void seqan::_initializeAlphabetOrdTable(TTarget*, const seqan::ModifiedAlphabet<THost, seqan::ModExpand<CHAR, TSpec> >&)’:
./SeqAn-1.3/seqan/modifier/modifier_alphabet_expansion.h:364:59: warning: typedef ‘TSource’ locally defined but not used [-Wunused-local-typedefs]
  typedef ModifiedAlphabet<THost, ModExpand<CHAR, TSpec> > TSource;
                                                           ^
In file included from ./SeqAn-1.3/seqan/file.h:56:0,
                 from ./SeqAn-1.3/seqan/score/score_matrix.h:40,
                 from ./SeqAn-1.3/seqan/score.h:48,
                 from ./SeqAn-1.3/seqan/find.h:45,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/file/file_generated_forwards.h: At global scope:
./SeqAn-1.3/seqan/file/file_generated_forwards.h:927:66: error: invalid abstract return type ‘seqan::FileFormat<TFile, TData, TMeta, void>’
 template <typename TFile, typename TData, typename TMeta> inline FileFormat<TFile, TData, TMeta, void> guessFileFormat(TFile & file, TData & data);        // "projects/library/seqan/file/file_format_guess.h"(65)
                                                                  ^
In file included from ./SeqAn-1.3/seqan/file.h:84:0,
                 from ./SeqAn-1.3/seqan/score/score_matrix.h:40,
                 from ./SeqAn-1.3/seqan/score.h:48,
                 from ./SeqAn-1.3/seqan/find.h:45,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/file/file_format.h:143:8: note:   because the following virtual functions are pure within ‘seqan::FileFormat<TFile, TData, TMeta, void>’:
 struct FileFormat<TFile, TData, TMeta, void>
        ^
./SeqAn-1.3/seqan/file/file_format.h:154:2: note:     virtual void* seqan::FileFormat<TFile, TData, TMeta, void>::formatID_() const
  formatID_() const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:157:2: note:     virtual void seqan::FileFormat<TFile, TData, TMeta, void>::read_(TFile&, TData&) const
  read_(TFile & file, TData & data) const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:159:2: note:     virtual void seqan::FileFormat<TFile, TData, TMeta, void>::read_(TFile&, TData&, seqan::FileFormat<TFile, TData, TMeta, void>::TSize) const
  read_(TFile & file, TData & data, TSize limit) const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:162:2: note:     virtual void seqan::FileFormat<TFile, TData, TMeta, void>::readMeta_(TFile&, TMeta&) const
  readMeta_(TFile & file, TMeta & meta) const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:165:2: note:     virtual void seqan::FileFormat<TFile, TData, TMeta, void>::goNext_(TFile&) const
  goNext_(TFile & file) const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:168:2: note:     virtual seqan::FileFormat<TFile, TData, TMeta, void>::TSize seqan::FileFormat<TFile, TData, TMeta, void>::length_(TFile&) const
  length_(TFile & file) const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:171:2: note:     virtual void seqan::FileFormat<TFile, TData, TMeta, void>::write_(TFile&, TData&) const
  write_(TFile & file, TData & data) const = 0;
  ^
./SeqAn-1.3/seqan/file/file_format.h:173:2: note:     virtual void seqan::FileFormat<TFile, TData, TMeta, void>::write_(TFile&, TData&, TMeta&) const
  write_(TFile & file, TData & data, TMeta & meta) const = 0;
  ^
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

 

 

ADD REPLYlink written 3.6 years ago by Pommy10

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.

ADD REPLYlink written 3.6 years ago by Jean-Karim Heriche20k
1
gravatar for blaise.li__biostars
3.5 years ago by
France
blaise.li__biostars50 wrote:

Solution found here: https://github.com/infphilo/tophat/pull/13

 

I managed compiling a fork that uses a newer SeqAn version:


git clone https://github.com/wookietreiber/tophat.git
cd tophat
git checkout update-seqan
./bootstrap
./configure <insert your options here>
make
make install

 


(See also https://groups.google.com/forum/#!topic/tuxedo-tools-users/M7Z9zLuu8o4)

 
ADD COMMENTlink written 3.5 years ago by blaise.li__biostars50
0
gravatar for blaise.li__biostars
3.5 years ago by
France
blaise.li__biostars50 wrote:

For the record, I confirm the error for me on Debian:

 

                                                           ^
In file included from ./SeqAn-1.3/seqan/file.h:56:0,
                 from ./SeqAn-1.3/seqan/score/score_matrix.h:40,
                 from ./SeqAn-1.3/seqan/score.h:48,
                 from ./SeqAn-1.3/seqan/find.h:45,
                 from reads.cpp:22:
./SeqAn-1.3/seqan/file/file_generated_forwards.h: At global scope:
./SeqAn-1.3/seqan/file/file_generated_forwards.h:927:66: error: invalid abstract return type 'seqan::FileFormat<TFile, TData, TMeta, void>'
 template <typename TFile, typename TData, typename TMeta> inline FileFormat<TFile, TData, TMeta, void> guessFileFormat(TFile & file, TData & data);        // "projects/library/seqan/file/file_format_guess.h"(65)
                                                                  ^

No problem compiling the same program on Ubuntu 14.04.

 

On Debian, gcc version is "(Debian 4.9.2-10) 4.9.2"

On Ubuntu, it is "(Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4"

 

ADD COMMENTlink written 3.5 years ago by blaise.li__biostars50
0
gravatar for Charles Plessy
3.5 years ago by
Charles Plessy2.7k
Japan
Charles Plessy2.7k wrote:

For everybody's convenience, there is now a backport of tophat 2.1.0 for Jessie.

ADD COMMENTlink written 3.5 years ago by Charles Plessy2.7k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1445 users visited in the last hour