I tried building dcpomatic in ubunt 18.04 followed by
https://dcpomatic.com/build/linux?distro=ubuntu-18.04
but in last step
./waf configure build
this command occur error
[ 38/427] Compiling src/lib/overlaps.cc
../src/lib/reel_writer.cc: In member function ‘boost::shared_ptr<dcp::Reel> ReelWriter::create_reel(const std::__cxx11::list<ReferencedReelAsset>&, const std::__cxx11::list<boost::shared_ptr<Font> >&)’:
../src/lib/reel_writer.cc:508:124: error: no matching function for call to ‘maybe_add_text<dcp::ReelSubtitleAsset>(boost::shared_ptr<dcp::SubtitleAsset>&, boost::optional<long int>, boost::shared_ptr<dcp::Reel>&, const std::__cxx11::list<ReferencedReelAsset>&, const std::__cxx11::list<boost::shared_ptr<Font> >&, boost::shared_ptr<const Film>&, DCPTimePeriod&)’
maybe_add_text<dcp::ReelSubtitleAsset> (_subtitle_asset, reel_picture_asset->duration(), reel, refs, fonts, _film, _period);
^
../src/lib/reel_writer.cc:335:1: note: candidate: template<class T> boost::shared_ptr<X> maybe_add_text(boost::shared_ptr<dcp::SubtitleAsset>, int64_t, boost::shared_ptr<dcp::Reel>, const std::__cxx11::list<ReferencedReelAsset>&, const std::__cxx11::list<boost::shared_ptr<Font> >&, boost::shared_ptr<const Film>, DCPTimePeriod)
maybe_add_text (
^~~~~~~~~~~~~~
../src/lib/reel_writer.cc:335:1: note: template argument deduction/substitution failed:
../src/lib/reel_writer.cc:508:87: note: cannot convert ‘dcp::ReelAsset::duration() const()’ (type ‘boost::optional<long int>’) to type ‘int64_t {aka long int}’
maybe_add_text<dcp::ReelSubtitleAsset> (_subtitle_asset, reel_picture_asset->duration(), reel, refs, fonts, _film, _period);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../src/lib/reel_writer.cc:512:4: error: no matching function for call to ‘maybe_add_text<dcp::ReelClosedCaptionAsset>(const boost::shared_ptr<dcp::SubtitleAsset>&, boost::optional<long int>, boost::shared_ptr<dcp::Reel>&, const std::__cxx11::list<ReferencedReelAsset>&, const std::__cxx11::list<boost::shared_ptr<Font> >&, boost::shared_ptr<const Film>&, DCPTimePeriod&)’
);
^
../src/lib/reel_writer.cc:335:1: note: candidate: template<class T> boost::shared_ptr<X> maybe_add_text(boost::shared_ptr<dcp::SubtitleAsset>, int64_t, boost::shared_ptr<dcp::Reel>, const std::__cxx11::list<ReferencedReelAsset>&, const std::__cxx11::list<boost::shared_ptr<Font> >&, boost::shared_ptr<const Film>, DCPTimePeriod)
maybe_add_text (
^~~~~~~~~~~~~~
../src/lib/reel_writer.cc:335:1: note: template argument deduction/substitution failed:
../src/lib/reel_writer.cc:511:43: note: cannot convert ‘dcp::ReelAsset::duration() const()’ (type ‘boost::optional<long int>’) to type ‘int64_t {aka long int}’
i->second, reel_picture_asset->duration(), reel, refs, fonts, _film, _period
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/boost/optional/optional.hpp:29:0,
from /usr/include/boost/optional.hpp:15,
from ../src/lib/rect.h:25,
from ../src/lib/types.h:25,
from ../src/lib/reel_writer.h:21,
from ../src/lib/reel_writer.cc:21:
/usr/local/include/libdcp-1.0/dcp/locale_convert.h: In instantiation of ‘P dcp::locale_convert(Q, int, bool) [with P = std::__cxx11::basic_string<char>; Q = boost::optional<long int>]’:
../src/lib/compose.hpp:121:43: required from ‘StringPrivate::Composition& StringPrivate::Composition::arg(const T&) [with T = boost::optional<long int>]’
../src/lib/compose.hpp:217:15: required from ‘std::__cxx11::string String::compose(const string&, const T1&, const T2&) [with T1 = boost::optional<long int>; T2 = long int; std::__cxx11::string = std::__cxx11::basic_string<char>]’
../src/lib/reel_writer.cc:462:80: required from here
/usr/local/include/libdcp-1.0/dcp/locale_convert.h:51:2: error: static assertion failed: sizeof (Q) == 0
BOOST_STATIC_ASSERT (sizeof (Q) == 0);
^
In file included from ../src/lib/compose.hpp:37:0,
from ../src/lib/dcpomatic_log.h:22,
from ../src/lib/reel_writer.cc:26:
/usr/local/include/libdcp-1.0/dcp/locale_convert.h:52:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
/usr/local/include/libdcp-1.0/dcp/locale_convert.h:46:19: warning: unused parameter ‘x’ [-Wunused-parameter]
locale_convert (Q x, int precision = 16, bool fixed = false)
^
/usr/local/include/libdcp-1.0/dcp/locale_convert.h:46:38: warning: unused parameter ‘precision’ [-Wunused-parameter]
locale_convert (Q x, int precision = 16, bool fixed = false)
^~
/usr/local/include/libdcp-1.0/dcp/locale_convert.h:46:55: warning: unused parameter ‘fixed’ [-Wunused-parameter]
locale_convert (Q x, int precision = 16, bool fixed = false)
^~~~~
../src/lib/player.cc: In function ‘void maybe_add_asset(std::__cxx11::list<ReferencedReelAsset>&, boost::shared_ptr<dcp::ReelAsset>, Frame, Frame, DCPTime, int)’:
../src/lib/player.cc:470:39: error: no match for ‘operator+’ (operand types are ‘boost::optional<long int>’ and ‘Frame {aka long int}’)
r->set_entry_point (r->entry_point() + reel_trim_start);
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/lib/player.cc:470:39: note: candidate: operator+(int, Frame {aka long int}) <built-in>
../src/lib/player.cc:470:39: note: no known conversion for argument 1 from ‘boost::optional<long int>’ to ‘int’
In file included from ../src/lib/rect.h:24:0,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
../src/lib/position.h:49:1: note: candidate: template<class T> Position<T> operator+(const Position<T>&, const Position<T>&)
operator+ (Position<T> const & a, Position<T> const & b)
^~~~~~~~
../src/lib/position.h:49:1: note: template argument deduction/substitution failed:
../src/lib/player.cc:470:41: note: ‘boost::optional<long int>’ is not derived from ‘const Position<T>’
r->set_entry_point (r->entry_point() + reel_trim_start);
^~~~~~~~~~~~~~~
../src/lib/player.cc:471:33: error: no match for ‘operator-’ (operand types are ‘boost::optional<long int>’ and ‘Frame {aka long int}’)
r->set_duration (r->duration() - reel_trim_start - reel_trim_end);
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../src/lib/player.cc:471:33: note: candidate: operator-(int, Frame {aka long int}) <built-in>
../src/lib/player.cc:471:33: note: no known conversion for argument 1 from ‘boost::optional<long int>’ to ‘int’
In file included from ../src/lib/rect.h:24:0,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
../src/lib/position.h:56:1: note: candidate: template<class T> Position<T> operator-(const Position<T>&, const Position<T>&)
operator- (Position<T> const & a, Position<T> const & b)
^~~~~~~~
../src/lib/position.h:56:1: note: template argument deduction/substitution failed:
../src/lib/player.cc:471:35: note: ‘boost::optional<long int>’ is not derived from ‘const Position<T>’
r->set_duration (r->duration() - reel_trim_start - reel_trim_end);
^~~~~~~~~~~~~~~
../src/lib/player.cc:472:20: error: no match for ‘operator>’ (operand types are ‘boost::optional<long int>’ and ‘int’)
if (r->duration() > 0) {
~~~~~~~~~~~~~~^~~
../src/lib/player.cc:472:20: note: candidate: operator>(int, int) <built-in>
../src/lib/player.cc:472:20: note: no known conversion for argument 1 from ‘boost::optional<long int>’ to ‘int’
In file included from /usr/include/boost/variant/variant.hpp:42:0,
from /usr/include/boost/signals2/slot_base.hpp:21,
from /usr/include/boost/signals2/detail/tracked_objects_visitor.hpp:18,
from /usr/include/boost/signals2/slot.hpp:22,
from /usr/include/boost/signals2/connection.hpp:24,
from /usr/include/boost/signals2/signal.hpp:22,
from /usr/include/boost/signals2.hpp:19,
from ../src/lib/film.h:37,
from ../src/lib/player.h:27,
from ../src/lib/player.cc:21:
/usr/include/boost/blank.hpp:83:13: note: candidate: bool boost::operator>(const boost::blank&, const boost::blank&)
inline bool operator>(const blank&, const blank&)
^~~~~~~~
/usr/include/boost/blank.hpp:83:13: note: no known conversion for argument 1 from ‘boost::optional<long int>’ to ‘const boost::blank&’
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50:0,
from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
from /usr/include/boost/lexical_cast.hpp:32,
from /usr/include/boost/date_time/string_parse_tree.hpp:13,
from /usr/include/boost/date_time/period_parser.hpp:14,
from /usr/include/boost/date_time/date_facet.hpp:23,
from /usr/include/boost/date_time/gregorian/gregorian_io.hpp:16,
from /usr/include/boost/date_time/gregorian/gregorian.hpp:31,
from ../src/lib/util.h:36,
from ../src/lib/film.h:29,
from ../src/lib/player.h:27,
from ../src/lib/player.cc:21:
/usr/include/boost/array.hpp:336:10: note: candidate: template<class T, long unsigned int N> bool boost::operator>(const boost::array<T, N>&, const boost::array<T, N>&)
bool operator> (const array<T,N>& x, const array<T,N>& y) {
^~~~~~~~
/usr/include/boost/array.hpp:336:10: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: ‘boost::optional<long int>’ is not derived from ‘const boost::array<T, N>’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/algorithm/string/erase.hpp:16:0,
from /usr/local/include/libcxml/cxml.h:27,
from /usr/local/include/libdcp-1.0/dcp/types.h:41,
from /usr/local/include/libdcp-1.0/dcp/subtitle_string.h:41,
from ../src/lib/string_text.h:24,
from ../src/lib/player_text.h:26,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/range/iterator_range_core.hpp:723:9: note: candidate: template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator>(const boost::iterator_range<T>&, const ForwardRange&)
operator>( const iterator_range<IteratorT>& l, const ForwardRange& r )
^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:723:9: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: ‘boost::optional<long int>’ is not derived from ‘const boost::iterator_range<T>’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/algorithm/string/erase.hpp:16:0,
from /usr/local/include/libcxml/cxml.h:27,
from /usr/local/include/libdcp-1.0/dcp/types.h:41,
from /usr/local/include/libdcp-1.0/dcp/subtitle_string.h:41,
from ../src/lib/string_text.h:24,
from ../src/lib/player_text.h:26,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/range/iterator_range_core.hpp:713:9: note: candidate: template<class Iterator1T, class Iterator2T> bool boost::operator>(const boost::iterator_range<T>&, const boost::iterator_range<Iterator2T>&)
operator>( const iterator_range<Iterator1T>& l, const iterator_range<Iterator2T>& r )
^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:713:9: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: ‘boost::optional<long int>’ is not derived from ‘const boost::iterator_range<T>’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/algorithm/string/erase.hpp:16:0,
from /usr/local/include/libcxml/cxml.h:27,
from /usr/local/include/libdcp-1.0/dcp/types.h:41,
from /usr/local/include/libdcp-1.0/dcp/subtitle_string.h:41,
from ../src/lib/string_text.h:24,
from ../src/lib/player_text.h:26,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/range/iterator_range_core.hpp:624:9: note: candidate: template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator>(const ForwardRange&, const boost::iterator_range<T>&)
operator>( const ForwardRange& l, const iterator_range<IteratorT>& r )
^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:624:9: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: mismatched types ‘const boost::iterator_range<T>’ and ‘int’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/optional/optional.hpp
0,
from /usr/include/boost/optional.hpp:15,
from ../src/lib/rect.h:25,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/optional/detail/optional_relops.hpp:180:6: note: candidate: template<class T> bool boost::operator>(boost::none_t, const boost::optional<T>&)
bool operator > ( none_t x, optional<T> const& y )
^~~~~~~~
/usr/include/boost/optional/detail/optional_relops.hpp:180:6: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: mismatched types ‘const boost::optional<T>’ and ‘int’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/optional/optional.hpp
0,
from /usr/include/boost/optional.hpp:15,
from ../src/lib/rect.h:25,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/optional/detail/optional_relops.hpp:146:6: note: candidate: template<class T> bool boost::operator>(const boost::optional<T>&, boost::none_t)
bool operator > ( optional<T> const& x, none_t y )
^~~~~~~~
/usr/include/boost/optional/detail/optional_relops.hpp:146:6: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: cannot convert ‘0’ (type ‘int’) to type ‘boost::none_t’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/optional/optional.hpp
0,
from /usr/include/boost/optional.hpp:15,
from ../src/lib/rect.h:25,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/optional/detail/optional_relops.hpp:111:6: note: candidate: template<class T> bool boost::operator>(const T&, const boost::optional<T>&)
bool operator > ( T const& x, optional<T> const& y )
^~~~~~~~
/usr/include/boost/optional/detail/optional_relops.hpp:111:6: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: mismatched types ‘const boost::optional<T>’ and ‘int’
if (r->duration() > 0) {
^
In file included from /usr/include/boost/optional/optional.hpp
0,
from /usr/include/boost/optional.hpp:15,
from ../src/lib/rect.h:25,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/optional/detail/optional_relops.hpp:77:6: note: candidate: template<class T> bool boost::operator>(const boost::optional<T>&, const T&)
bool operator > ( optional<T> const& x, T const& y )
^~~~~~~~
/usr/include/boost/optional/detail/optional_relops.hpp:77:6: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: deduced conflicting types for parameter ‘const T’ (‘long int’ and ‘int’)
if (r->duration() > 0) {
^
In file included from /usr/include/boost/optional/optional.hpp
0,
from /usr/include/boost/optional.hpp:15,
from ../src/lib/rect.h:25,
from ../src/lib/bitmap_text.h:24,
from ../src/lib/player_text.h:24,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
/usr/include/boost/optional/detail/optional_relops.hpp:43:6: note: candidate: template<class T> bool boost::operator>(const boost::optional<T>&, const boost::optional<T>&)
bool operator > ( optional<T> const& x, optional<T> const& y )
^~~~~~~~
/usr/include/boost/optional/detail/optional_relops.hpp:43:6: note: template argument deduction/substitution failed:
../src/lib/player.cc:472:22: note: mismatched types ‘const boost::optional<T>’ and ‘int’
if (r->duration() > 0) {
^
../src/lib/player.cc:474:93: error: no matching function for call to ‘Time<DCPTimeDifferentiator, ContentTimeDifferentiator>::from_frames(boost::optional<long int>, const int&)’
ReferencedReelAsset(r, DCPTimePeriod(from, from + DCPTime::from_frames(r->duration(), ffr)))
^
In file included from ../src/lib/player_text.h:25:0,
from ../src/lib/player.h:24,
from ../src/lib/player.cc:21:
../src/lib/dcpomatic_time.h:211:20: note: candidate: template<class T> static Time<S, O> Time<S, O>::from_frames(int64_t, T) [with T = T; S = DCPTimeDifferentiator; O = ContentTimeDifferentiator]
static Time<S, O> from_frames (int64_t f, T r) {
^~~~~~~~~~~
../src/lib/dcpomatic_time.h:211:20: note: template argument deduction/substitution failed:
../src/lib/player.cc:474:86: note: cannot convert ‘dcp::ReelAsset::duration() const()’ (type ‘boost::optional<long int>’) to type ‘int64_t {aka long int}’
ReferencedReelAsset(r, DCPTimePeriod(from, from + DCPTime::from_frames(r->duration(), ffr)))
~~~~~~~~~~~^~
../src/lib/player.cc: In member function ‘std::__cxx11::list<ReferencedReelAsset> Player::get_reel_assets()’:
../src/lib/player.cc:511:20: error: no match for ‘operator+=’ (operand types are ‘int64_t {aka long int}’ and ‘boost::optional<long int>’)
offset_from_end += k->main_picture()->duration();
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib/player.cc:511:20: note: candidate: operator+=(int64_t& {aka long int&}, int) <built-in>
../src/lib/player.cc:511:20: note: no known conversion for argument 2 from ‘boost::optional<long int>’ to ‘int’
../src/lib/player.cc:517:62: error: cannot convert ‘boost::optional<long int>’ to ‘const int64_t {aka const long int}’ in initialization
int64_t const reel_duration = k->main_picture()->duration();
^
../src/lib/player.cc: At global scope:
../src/lib/player.cc:467:1: warning: ‘void maybe_add_asset(std::__cxx11::list<ReferencedReelAsset>&, boost::shared_ptr<dcp::ReelAsset>, Frame, Frame, DCPTime, int)’ defined but not used [-Wunused-function]
maybe_add_asset (list<ReferencedReelAsset>& a, shared_ptr<dcp::ReelAsset> r, Frame reel_trim_start, Frame reel_trim_end, DCPTime from, int const ffr)
^~~~~~~~~~~~~~~
Waf: Leaving directory `/home/gskim/Downloads/dcpomatic/lib/dcpomatic/build'
Build failed
-> task in 'libdcpomatic2' failed with exit status 1 (run with -v to display more information)
what is this?....
ubuntu x64 / 18.04 LTS
libasdcp-cth : 0.1.5devel
libcxml : 0.16.1devel
libdcp : 1.6.4devel
libsub : 1.4.3devel
locked_sstream : 0.0.6
openjpeg2 : 3.10.2
wxWidgets : 3.0.4