kingsfordgroup / sailfish

Rapid Mapping-based Isoform Quantification from RNA-Seq Reads
http://www.cs.cmu.edu/~ckingsf/software/sailfish
GNU General Public License v3.0
124 stars 45 forks source link

cannot compile sailfish-0.2.7 #89

Closed antonvila closed 8 years ago

antonvila commented 8 years ago

Hi,

I've been trying to compile sailfish-0.2.7 but I'm getting errors at the "make" step. Here is he output I get

_anton@anton-H87M-D3H:~/programs/sailfish-0.2.7/build$ make
/usr/bin/cmake -H/home/anton/programs/sailfish-0.2.7 -B/home/anton/programs/sailfish-0.2.7/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/anton/programs/sailfish-0.2.7/build/CMakeFiles /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libbwa.dir/build.make CMakeFiles/libbwa.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libbwa.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libbwa.dir/build.make CMakeFiles/libbwa.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libbwa.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  1 2 3 4 5 6 7 8
[  8%] Built target libbwa
make -f CMakeFiles/libcereal.dir/build.make CMakeFiles/libcereal.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libcereal.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libcereal.dir/build.make CMakeFiles/libcereal.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libcereal.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  9 10 11 12 13 14 15 16
[ 16%] Built target libcereal
make -f CMakeFiles/libcmph.dir/build.make CMakeFiles/libcmph.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libcmph.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libcmph.dir/build.make CMakeFiles/libcmph.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libcmph.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  17 18 19 20 21 22 23 24
[ 25%] Built target libcmph
make -f CMakeFiles/libgff.dir/build.make CMakeFiles/libgff.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libgff.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libgff.dir/build.make CMakeFiles/libgff.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libgff.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  25 26 27 28 29 30 31 32
[ 33%] Built target libgff
make -f CMakeFiles/libjellyfish.dir/build.make CMakeFiles/libjellyfish.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libjellyfish.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libjellyfish.dir/build.make CMakeFiles/libjellyfish.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libjellyfish.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  33 34 35 36 37 38 39 40
[ 41%] Built target libjellyfish
make -f CMakeFiles/libshark.dir/build.make CMakeFiles/libshark.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libshark.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libshark.dir/build.make CMakeFiles/libshark.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libshark.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  41 42 43 44 45 46 47 48
[ 50%] Built target libshark
make -f CMakeFiles/libspdlog.dir/build.make CMakeFiles/libspdlog.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libspdlog.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libspdlog.dir/build.make CMakeFiles/libspdlog.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libspdlog.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  49 50 51 52 53 54 55 56
[ 58%] Built target libspdlog
make -f CMakeFiles/libstadenio.dir/build.make CMakeFiles/libstadenio.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/CMakeFiles/libstadenio.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f CMakeFiles/libstadenio.dir/build.make CMakeFiles/libstadenio.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `CMakeFiles/libstadenio.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  57 58 59 60 61 62 63 64
[ 66%] Built target libstadenio
make -f src/CMakeFiles/sailfish_core.dir/build.make src/CMakeFiles/sailfish_core.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/src /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/src /home/anton/programs/sailfish-0.2.7/build/src/CMakeFiles/sailfish_core.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f src/CMakeFiles/sailfish_core.dir/build.make src/CMakeFiles/sailfish_core.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
make[2]: Nothing to be done for `src/CMakeFiles/sailfish_core.dir/build'.
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
/usr/bin/cmake -E cmake_progress_report /home/anton/programs/sailfish-0.2.7/build/CMakeFiles  66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
[ 85%] Built target sailfish_core
make -f src/CMakeFiles/sailfish.dir/build.make src/CMakeFiles/sailfish.dir/depend
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
cd /home/anton/programs/sailfish-0.2.7/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/anton/programs/sailfish-0.2.7 /home/anton/programs/sailfish-0.2.7/src /home/anton/programs/sailfish-0.2.7/build /home/anton/programs/sailfish-0.2.7/build/src /home/anton/programs/sailfish-0.2.7/build/src/CMakeFiles/sailfish.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make -f src/CMakeFiles/sailfish.dir/build.make src/CMakeFiles/sailfish.dir/build
make[2]: Entering directory `/home/anton/programs/sailfish-0.2.7/build'
Linking CXX executable sailfish
cd /home/anton/programs/sailfish-0.2.7/build/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/sailfish.dir/link.txt --verbose=1
/usr/bin/c++   -g -funroll-loops -fPIC -fomit-frame-pointer -Ofast -DHAVE_ANSI_TERM -DHAVE_SSTREAM -Wall -std=c++11 -Wreturn-type -Werror=return-type -Wno-deprecated-register -Wno-unused-local-typedefs    CMakeFiles/sailfish.dir/Sailfish.cpp.o  -o sailfish  -L/home/anton/programs/sailfish-0.2.7/lib  -L/home/anton/programs/sailfish-0.2.7/external/install/lib -rdynamic libsailfish_core.a -Wl,-Bstatic -lboost_iostreams -lboost_filesystem -lboost_system -lboost_thread -lboost_timer -lboost_chrono -lboost_program_options -lboost_serialization -lpthread -Wl,-Bdynamic -lgff -Wl,-Bstatic -lz -Wl,-Bdynamic ../../external/install/lib/libcmph.a ../../external/install/lib/libjellyfish-2.0.a -lm -ltbb -ltbbmalloc -lshark -lgomp -lrt -Wl,-Bstatic -ltcmalloc_minimal -Wl,-Bdynamic -lpthread -Wl,-rpath,"\$ORIGIN/../lib:\$ORIGIN/../../lib:\$ORIGIN/" 
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(pthread_create.o): In function `allocate_stack':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/allocatestack.c:475: undefined reference to `_dl_stack_flags'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/allocatestack.c:614: undefined reference to `_dl_stack_flags'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(ptw-write.o): In function `__write_nocancel':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../sysdeps/unix/syscall-template.S:81: undefined reference to `__syscall_error'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../sysdeps/unix/syscall-template.S:81: undefined reference to `__syscall_error'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(ptw-read.o): In function `__read_nocancel':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../sysdeps/unix/syscall-template.S:81: undefined reference to `__syscall_error'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../sysdeps/unix/syscall-template.S:81: undefined reference to `__syscall_error'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(ptw-close.o): In function `__close_nocancel':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../sysdeps/unix/syscall-template.S:81: undefined reference to `__syscall_error'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(ptw-close.o):/build/eglibc-3GlaMS/eglibc-2.19/nptl/../sysdeps/unix/syscall-template.S:81: more undefined references to `__syscall_error' follow
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(nptl-init.o): In function `__pthread_initialize_minimal_internal':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:285: undefined reference to `__libc_setup_tls'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:303: undefined reference to `_dl_cpuclock_offset'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:419: undefined reference to `_dl_pagesize'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:428: undefined reference to `_dl_pagesize'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:448: undefined reference to `_dl_init_static_tls'
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:450: undefined reference to `_dl_wait_lookup_done'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpthread.a(nptl-init.o): In function `__pthread_get_minstack':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/nptl-init.c:471: undefined reference to `_dl_pagesize'
collect2: error: ld returned 1 exit status
make[2]: *** [src/sailfish] Error 1
make[2]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make[1]: *** [src/CMakeFiles/sailfish.dir/all] Error 2
make[1]: Leaving directory `/home/anton/programs/sailfish-0.2.7/build'
make: *** [all] Error 2

views?

Antón

rob-p commented 8 years ago

Hi @antonvila,

It seems to be that some very basic symbols are missing that are expected by pthread. Could you give some details about your system and compiler? Also, version 0.2.7 is very old, and, even if you do get it to compile, I'd highly recommend against using it. The latest version of sailfish is 0.9.2 and there have been tremendous improvements to speed and accuracy in the intervening versions (as well as a simplification of the codebase).

antonvila commented 8 years ago

Hi Rob,

Thanks for your help. I use Ubuntu 14.04 and installed the boost version recommended for this version by doing

sudo apt-get install libboost-all-dev

cmake was already packaged with the ubuntu distribution.

I also installed the following packages due to cmake errors and warnings, libtbb-dev and libgoogle-perftools-dev (containing Tcmalloc)

here are the details of the cmake run

_-- The C compiler identification is GNU 4.8.4-- The CXX compiler identification is GNU 4.8.4-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.a (found version "1.2.8")-- Boost version: 1.54.0-- Found the following Boost libraries:-- iostreams-- filesystem-- system-- thread-- timer-- chrono-- program_options-- serialization-- Found Intel TBB-- Found Tcmalloc: /usr/lib/libtcmallocminimal.a-- Configuring done-- Generating done-- Build files have been written to: /home/anton/programs/sailfish-0.2.7/build

I am aware that 0.2.7 is an old version but it is the one that comes with the riboMap package (https://github.com/Kingsford-Group/ribomap). I 've been recommended to use this version, so I will stick to it for now. I'll try a newer one once I get the whole thing to work. Views?

Antón

On Wed, Mar 16, 2016 at 11:01 PM, Rob Patro notifications@github.com wrote:

Hi @antonvila https://github.com/antonvila,

It seems to be that some very basic symbols are missing that are expected by pthread. Could you give some details about your system and compiler? Also, version 0.2.7 is very old, and, even if you do get it to compile, I'd highly recommend against using it. The latest version of sailfish is 0.9.2 and there have been tremendous improvements to speed and accuracy in the intervening versions (as well as a simplification of the codebase).

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/kingsfordgroup/sailfish/issues/89#issuecomment-197571290

Antón Vila-Sanjurjo, PhD Project PI Departamento de Bioloxía Celular e Molecular Facultade de Ciencias Universidade de A Coruña (UDC) Campus Zapateira, s/n 15.071 - A Coruña - España (Spain).

tlf: (34) 981-167000 ext:2659 e-mail: antonvila.s@gmail.com

rob-p commented 8 years ago

Hi @antonvila,

It looks like RiboMap has been updated to support (Salmon v0.6.0) ---- for which a pre-compiled binary is available. If you have any issues using that binary, please open up a ticket under the Salmon issues page.

antonvila commented 8 years ago

Hi Rob,

thanks for your reply. I was able to succesfully use the Salmon v0.6.0 binary on my machine. However, I still need to compile it on a different machine running Fedora 19 and it's giving me errors. Should I open a new issue for this?

Antón

On Fri, Mar 18, 2016 at 10:02 PM, Rob Patro notifications@github.com wrote:

Hi @antonvila https://github.com/antonvila,

It looks like RiboMap has been updated to support (Salmon v0.6.0 https://github.com/COMBINE-lab/salmon/releases/tag/v0.6.0) ---- for which a pre-compiled binary is available. If you have any issues using that binary, please open up a ticket under the Salmon issues page https://github.com/COMBINE-lab/salmon/issues.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/kingsfordgroup/sailfish/issues/89#issuecomment-198541501

Antón Vila-Sanjurjo, PhD Project PI Departamento de Bioloxía Celular e Molecular Facultade de Ciencias Universidade de A Coruña (UDC) Campus Zapateira, s/n 15.071 - A Coruña - España (Spain).

tlf: (34) 981-167000 ext:2659 e-mail: antonvila.s@gmail.com

rob-p commented 8 years ago

Hi Antón,

The CentOS5 binary should actually be compatible with all later versions of Linux (including Fedora 19). If the binary doesn't work on Fedora 19 (and you're running into issues subsequently trying to compile it there), then please open up a new issue in the Salmon repository.

Thanks! Rob