COMBINE-lab / salmon

🐟 🍣 🍱 Highly-accurate & wicked fast transcript-level quantification from RNA-seq reads using selective alignment
https://combine-lab.github.io/salmon
GNU General Public License v3.0
780 stars 165 forks source link

Salmon installation error #551

Open Nitin123-4 opened 4 years ago

Nitin123-4 commented 4 years ago

Hi ,

I am getting following error while installing salmon:

[ 86%] Linking CXX executable unitTests ../../external/install/lib/libstaden-read.a(libstaden_read_la-open_trace_file.o): In function find_file_url': open_trace_file.c:(.text+0xd30): warning: the use oftempnam' is dangerous, better use mkstemp' libsalmon_core.a(SalmonUtils.cpp.o): In functionsalmon::utils::conflicting_options(boost::program_options::variables_map const&, char const, char const)': SalmonUtils.cpp:(.text+0x355e): undefined reference to boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' SalmonUtils.cpp:(.text+0x35fc): undefined reference toboost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' libsalmon_core.a(SalmonUtils.cpp.o): In function salmon::utils::option_dependency(boost::program_options::variables_map const&, char const*, char const*)': SalmonUtils.cpp:(.text+0x3911): undefined reference toboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' SalmonUtils.cpp:(.text+0x39b7): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' libsalmoncore.a(SalmonUtils.cpp.o): In function `salmon::utils::validateOptionsMapping(SalmonOpts&, boost::program_options::variables_map&)': SalmonUtils.cpp:(.text+0xec56): undefined reference to boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' libsalmon_core.a(SalmonUtils.cpp.o):SalmonUtils.cpp:(.text+0xec92): more undefined references toboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' follow collect2: error: ld returned 1 exit status make[2]: [src/unitTests] Error 1 make[1]: [src/CMakeFiles/unitTests.dir/all] Error 2 make: *** [all] Error 2

Is the bug primarily related to salmon (bulk mode) or alevin (single-cell mode)?

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps and data to reproduce the behavior:

Specifically, please provide at least the following information:

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots or terminal output to help explain your problem.

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

lalomartinez commented 1 year ago

Hi, I have the same problem installing version 1.10.1, Do you find any solution?

rob-p commented 1 year ago

This usually means that the version of the boost library you have was not compiled with a C++11-compatible ABI. There is a incompatibility between pre C++11 and post C++11 std::string representations, and since salmon uses modern C++ (C++14 as of this writing), you need a version of boost compiled in a compatible way. How was boost installed on your system?

Of course, if you don't need to compile from source, it's much easier to install via conda, or to grab the pre-built executable (1.10.0 is feature and bugfix identical to 1.10.1).

Best, Rob

lalomartinez commented 1 year ago

Hi, thank you for your reply, I prefer to use the pre-built version 1.10.0

El lun, 5 jun 2023 a las 14:02, Rob Patro @.***>) escribió:

This usually means that the version of the boost library you have was not compiled with a C++11-compatible ABI. There is a incompatibility between pre C++11 and post C++11 std::string representations, and since salmon uses modern C++ (C++14 as of this writing), you need a version of boost compiled in a compatible way. How was boost installed on your system?

Of course, if you don't need to compile from source, it's much easier to install via conda, or to grab the pre-built executable (1.10.0 is feature and bugfix identical to 1.10.1).

Best, Rob

— Reply to this email directly, view it on GitHub https://github.com/COMBINE-lab/salmon/issues/551#issuecomment-1577237260, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6EVFLJX45SB67GSQ3RYO3XJYNLBANCNFSM4PG7JFPQ . You are receiving this because you commented.Message ID: @.***>