tophat install problem
2
1
Entering edit mode
7.1 years ago
biolab ★ 1.4k

Hi everyone

I installed boost (prefixed at /data/xma/local/boost/), bowtie, samtools, all without problem,  but am facing tophat problem:

checking whether Boost::Thread needs Boost::System library... configure: error: Cannot use Boost::Thread

My command is ./configure --prefix=/data/xma/local/tophat/  --with-boost=/data/xma/local/boost/  --with-bam=/data/xma/tools/samtools-0.1.19

I tried adding the option  --with-boost-libdir=/data/xma/local/boost/lib,  unfortunately it does not work.  Could anyone kindly offers me solutions?  I have been in trouble for hours. Thanks a lot!!

tophat • 4.0k views
0
Entering edit mode

I finally resolved the problem. The --with-boost option is wrong, should be --with-boost=/data/xma/local/boost/include/boost/.   Hope this post helps in case anyone else meet the same problem.

1
Entering edit mode
6.1 years ago
mmfansler ▴ 370

Ran in to exactly the same error, but neither of the above were the issue for me. Perhaps unique to the fact that I have boost installed through macports, my system only has libboost_system-mt in the lib directory and was not being recognized. Adding a soft link for libboost_system in the same directory was all I needed. Was smooth sailing from there on out.

0
Entering edit mode

Thank you!!!! This perfectly fixed my issue.

0
Entering edit mode
6.4 years ago

Hello,

I just ran into the same issue with tophat, but the above solution didn't work for me.

./configure --prefix=path/to/install --with-boost=boost/base/dir/

(boost/base/dir needs to include two directories - "include" and "lib")

For me, tophat's small example script at configure's line 5558 to test for Boost:Thread didn't work properly (in the step "checking whether Boost::Thread needs Boost::System library..."), here's the error message from the logs (you can get the logs in "config.log" with ./configure --enable-debug)

thread.cpp:(.text+0xdb): undefined reference to clock_gettime'

In the configure script, I had to change this line

CXXFLAGS="-pthread $CXXFLAGS" to CXXFLAGS="-pthread -lrt$CXXFLAGS"
`

Using the -lrt flag adds the "Real Time" library to compilation, which adds that missing method.

Then, running make produced the correct binaries. It seems to differ between systems. I'd recommend to always use the pre-compiled binaries.