Modify bcl2fastq/src/cmake/macros.cmake
Find the last block:
#
# Macro to find libraries, with support for static-only search
#
macro(bcl2fastq_find_header_or_die variable file)
find_file(${variable} ${file} HINTS ENV C_INCLUDE_PATH ENV CPATH ENV CPLUS_INCLUDE_PATH)
if (${variable})
message(STATUS "${file} found as ${${variable}}")
else (${variable})
message(FATAL_ERROR "Required header ${file} not found.")
endif (${variable})
endmacro(bcl2fastq_find_header_or_die)
And change the find_file
function to include /usr/include/x86_64-linux-gnu/
(the location of sys/
in Ubuntu on amd64) thusly:
find_file(${variable} ${file} HINTS ENV C_INCLUDE_PATH ENV CPATH ENV CPLUS_INCLUDE_PATH PATHS /usr/include/x86_64-linux-gnu/)
bcl2fastq/src/cxx/lib/io/Xml.cpp modify lines 172 and 180 to include the correct template:
boost::property_tree::write_xml(os, treeWithIndexAttributes, boost::property_tree::xml_writer_make_settings(' ' , 2));
to
boost::property_tree::write_xml(os, treeWithIndexAttributes, boost::property_tree::xml_writer_make_settings<ptree::key_type>(' ' , 2));
and likewise again on line 180
Explanation: Boost versions >= 1.56 changed the definition of the xml_writer_make_settings function template: http://www.boost.org/doc/libs/1_44_0/boost/property_tree/detail/xml_parser_writer_settings.hpp http://www.boost.org/doc/libs/1_58_0/boost/property_tree/detail/xml_parser_writer_settings.hpp
Thanks for this. I only needed the first fix as well in Ubuntu 16 LTS!
Correction: the "make" command failed. So I had to apply the second fix as well.