bioinformatics-centre / bayesembler

A Bayesian method for doing transcriptome assembly from RNA-seq data
MIT License
25 stars 5 forks source link

Compilation of source fails with cryptic error #2

Closed marchoeppner closed 9 years ago

marchoeppner commented 9 years ago

Hi,

been trying to compile the source following the somewhat sparse instructions. The final 'make' fails cryptically with:

/sw/source/bayesembler/bayesembler/src/main.cpp:41: error: expected initializer before ‘’ token /sw/source/bayesembler/bayesembler/src/main.cpp: In function ‘int main(int, char const_)’: /sw/source/bayesembler/bayesembler/src/main.cpp:60: error: ‘class boost::program_options::typed_value<std::basic_string<char, std::char_traits, std::allocator >, char>’ has no member named ‘required’ /sw/source/bayesembler/bayesembler/src/main.cpp:120: error: no matching function for call to ‘parse_commandline(int&, char const_&, boost::program_options::optionsdescription&)’ make[2]: ** [CMakeFiles/bayesembler.dir/main.cpp.o] Error 1 make[1]: *\ [CMakeFiles/bayesembler.dir/all] Error 2

CMakeList:

cmake_minimum_required(VERSION 2.6) project(bayesembler)

set(CMAKE_CXX_COMPILER "g++") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")

set(BOOST_LIB_DIR "/sw/boost_1_55_0/lib/") set(BOOST_INCLUDE_DIR "sw/boost_1_55_0/include/" ) set(BAMTOOLS_LIB_DIR "/sw/bioinfo/bamtools/2.3.0/lib/") set(BAMTOOLS_INCLUDE_DIR "/sw/bioinfo/bamtools/2.3.0/include/") set(EIGEN_INCLUDE_DIR "/sw/system/eigen/3.0.7/include/eigen3")

include_directories(. ${BOOST_INCLUDE_DIR} ${BAMTOOLS_INCLUDE_DIR} ${EIGEN_INCLUDE_DIR}) link_directories(${BOOST_LIB_DIR} ${BAMTOOLS_LIB_DIR})

[SNIP]

lassemaretty commented 9 years ago

Thanks for posting! Ill look into it and get back to you ASAP.

lassemaretty commented 9 years ago

Im sorry if the current compilation instructions are too sparse, we'll try to make them more clear. Regarding your current compilation problem, Im not sure what the cause is. I corrected some incorrect library extensions in our CMakeLists.txt example, but I do not think that is the cause of your issue (but please correct it in your CMakeLists file and try compiling again). Your problem smells a bit like a boost version issue, but it should work with boost 1.55.0 (I just downloaded it and compiled with it without any problems). It could be (though not sure exactly how) that an older version of boost installed somewhere on your system is used rather than the version pointed to by your paths - would you mind double checking that your lib/include paths are correct? In case there is a system-wide (e.g. /usr/local/) installation of boost, could you provide me with the version number (look in the version.hpp header)?