It appears that ncxmms2 does not build withBoost >= 1.50.0. I've tested this with 1.50.0, 1.52.0, and 1.53.0 on an Arch Linux ARM box; all fail at the same point with the same error:
-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler: /usr/lib/colorgcc/bin/cc
-- Check for working C compiler: /usr/lib/colorgcc/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/colorgcc/bin/c++
-- Check for working CXX compiler: /usr/lib/colorgcc/bin/c++ -- works
-- checking for module 'ncursesw'
-- found ncursesw, version 5.9.20110404
-- checking for module 'glib-2.0'
-- found glib-2.0, version 2.36.3
-- Boost version: 1.50.0
-- checking for module 'xmms2-client-cpp'
-- found xmms2-client-cpp, version 0.8;DrO_o;(git;commit:;Unknown)
-- checking for module 'xmms2-client-cpp-glib'
-- found xmms2-client-cpp-glib, version 0.8;DrO_o;(git;commit:;Unknown)
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/ncxmms2
Scanning dependencies of target libtermkey
[ 2%] Building C object 3rdparty/libtermkey/CMakeFiles/libtermkey.dir/driver-csi.c.o
[ 4%] Building C object 3rdparty/libtermkey/CMakeFiles/libtermkey.dir/driver-ti.c.o
[ 6%] Building C object 3rdparty/libtermkey/CMakeFiles/libtermkey.dir/termkey.c.o
Linking C static library liblibtermkey.a
[ 6%] Built target libtermkey
Scanning dependencies of target ncxmms2-lib
[ 8%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/application.cpp.o
[ 10%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/object.cpp.o
[ 12%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/window.cpp.o
[ 14%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/stackedwindow.cpp.o
[ 16%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/timer.cpp.o
[ 18%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/painter.cpp.o
[ 20%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/keyevent.cpp.o
[ 22%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/label.cpp.o
[ 24%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/lineedit.cpp.o
[ 26%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/listmodel.cpp.o
[ 28%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/listview.cpp.o
[ 30%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/listmodelitemdelegate.cpp.o
[ 32%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/utf.cpp.o
[ 34%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/textview.cpp.o
[ 36%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/iniparser.cpp.o
[ 38%] Building CXX object src/lib/CMakeFiles/ncxmms2-lib.dir/palette.cpp.o
Linking CXX static library libncxmms2-lib.a
[ 38%] Built target ncxmms2-lib
Scanning dependencies of target ncxmms2
[ 40%] Building CXX object src/CMakeFiles/ncxmms2.dir/main.cpp.o
[ 42%] Building CXX object src/CMakeFiles/ncxmms2.dir/utils.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncxmms2.dir/xmmsutils.cpp.o
[ 46%] Building CXX object src/CMakeFiles/ncxmms2.dir/settings.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncxmms2.dir/commandlineoptions.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncxmms2.dir/song.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncxmms2.dir/songdisplayformatparser.cpp.o
In file included from /tmp/ncxmms2/src/songdisplayformatparser.h:24:0,
from /tmp/ncxmms2/src/songdisplayformatparser.cpp:22:
/tmp/ncxmms2/src/utils.h: In instantiation of ‘ncxmms2::Utils::FormatImpl::BoostFormatWrapper::BoostFormatWrapper(T&&) [with T = ncxmms2::SongDisplayFormatParser::ParsingError]’:
/tmp/ncxmms2/src/utils.h:80:106: required from ‘std::string ncxmms2::Utils::format(T&&, Args&& ...) [with T = ncxmms2::SongDisplayFormatParser::ParsingError; Args = {}; std::string = std::basic_string<char>]’ /tmp/ncxmms2/src/songdisplayformatparser.h:353:69: required from ‘ncxmms2::SongDisplayFormatParser::ParsingError::ParsingError(Args&& ...) [with Args = {ncxmms2::SongDisplayFormatParser::ParsingError}]’ /tmp/ncxmms2/src/songdisplayformatparser.cpp:39:66: required from here
/tmp/ncxmms2/src/utils.h:60:38: error: no matching function for call to ‘boost::basic_format<char>::basic_format(ncxmms2::SongDisplayFormatParser::ParsingError)’ /tmp/ncxmms2/src/utils.h:60:38: note: candidates are:
In file included from /usr/include/boost/format.hpp:47:0,
from /tmp/ncxmms2/src/utils.h:22, from /tmp/ncxmms2/src/songdisplayformatparser.h:24,
from /tmp/ncxmms2/src/songdisplayformatparser.cpp:22:
/usr/include/boost/format/format_implementation.hpp:46:5: note: boost::basic_format<Ch, Tr, Alloc>::basic_format(const string_type&, const std::locale&) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; boost::basic_format<Ch, Tr, Alloc>::string_type = std::basic_string<char>]
/usr/include/boost/format/format_implementation.hpp:46:5: note: candidate expects 2 arguments, 1 provided
/usr/include/boost/format/format_implementation.hpp:38:5: note: boost::basic_format<Ch, Tr, Alloc>::basic_format(const Ch*, const std::locale&) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>] /usr/include/boost/format/format_implementation.hpp:38:5: note: candidate expects 2 arguments, 1 provided
/usr/include/boost/format/format_implementation.hpp:68:5: note: boost::basic_format<Ch, Tr, Alloc>::basic_format(const boost::basic_format<Ch, Tr, Alloc>&) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; boost::basic_format<Ch, Tr, Alloc> = boost::basic_format<char>]
/usr/include/boost/format/format_implementation.hpp:68:5: note: no known conversion for argument 1 from ‘ncxmms2::SongDisplayFormatParser::ParsingError’ to ‘const boost::basic_format<char>&’ /usr/include/boost/format/format_implementation.hpp:60:5: note: boost::basic_format<Ch, Tr, Alloc>::basic_format(const string_type&) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; boost::basic_format<Ch, Tr, Alloc>::string_type = std::basic_string<char>] /usr/include/boost/format/format_implementation.hpp:60:5: note: no known conversion for argument 1 from ‘ncxmms2::SongDisplayFormatParser::ParsingError’ to ‘const string_type& {aka const std::basic_string<char>&}’ /usr/include/boost/format/format_implementation.hpp:28:5: note: boost::basic_format<Ch, Tr, Alloc>::basic_format(const Ch*) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>]
/usr/include/boost/format/format_implementation.hpp:28:5: note: no known conversion for argument 1 from ‘ncxmms2::SongDisplayFormatParser::ParsingError’ to ‘const char*’
make[2]: *** [src/CMakeFiles/ncxmms2.dir/songdisplayformatparser.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/ncxmms2.dir/all] Error 2
make: *** [all] Error 2
The above is from a build attempted with Boost 1.50.0, but later versions do not appear to produce substantially different errors (all error out at the same place, and all note that "candidate expects 2 arguments, 1 provided"). I'm assuming that the build should work with Boost 1.49.0 but am unable to test, as I cannot get that version of boost to build on my architecture (armv7h).
Not really a C++ kinda guy, but I'm willing to test out potential patches, etc.