Summary: | fatal multimedia/vlc build error | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Howard Goldstein <hg> |
Component: | Individual Port(s) | Assignee: | freebsd-multimedia (Nobody) <multimedia> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | ||
Priority: | Normal | ||
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Howard Goldstein
2008-03-14 19:00:09 UTC
Responsible Changed From-To: freebsd-ports-bugs->freebsd-multimedia Over to maintainer (via the GNATS Auto Assign Tool) The actual build error here is the following: mkv.cpp: In member function 'virtual bool dvd_chapter_codec_c::Enter()': mkv.cpp:5848: error: no matching function for call to 'min(size_t&, long long unsigned int)' mkv.cpp: In member function 'virtual bool dvd_chapter_codec_c::Leave()': mkv.cpp:5871: error: no matching function for call to 'min(size_t&, long long unsigned int)' I see this on FreeBSD 5.5 as well. This occurs because there's a call to min (which is a template function) taking arguments of type size_t and uint64_t, and min<size_t> and min<unsigned long long> are equally good resolutions of that template. The following patch file (added as, e.g. multimedia/vlc/files/patch-modules_demux_mkv.cpp) fixes the problem by making the choice of template instantiation explicit. --- modules/demux/mkv.cpp.orig Sun Feb 24 14:01:53 2008 +++ modules/demux/mkv.cpp Wed Mar 19 11:45:02 2008 @@ -5845,7 +5845,7 @@ bool dvd_chapter_codec_c::Enter() binary *p_data = (*index)->GetBuffer(); size_t i_size = *p_data++; // avoid reading too much from the buffer - i_size = min( i_size, ((*index)->GetSize() - 1) >> 3 ); + i_size = min<size_t>( i_size, ((*index)->GetSize() - 1) >> 3 ); for ( ; i_size > 0; i_size--, p_data += 8 ) { msg_Dbg( &sys.demuxer, "Matroska DVD enter command" ); @@ -5868,7 +5868,7 @@ bool dvd_chapter_codec_c::Leave() binary *p_data = (*index)->GetBuffer(); size_t i_size = *p_data++; // avoid reading too much from the buffer - i_size = min( i_size, ((*index)->GetSize() - 1) >> 3 ); + i_size = min<size_t>( i_size, ((*index)->GetSize() - 1) >> 3 ); for ( ; i_size > 0; i_size--, p_data += 8 ) { msg_Dbg( &sys.demuxer, "Matroska DVD leave command" ); -- Jonathan Lennox lennox@cs.columbia.edu ahze 2008-03-19 17:22:37 UTC FreeBSD ports repository Added files: multimedia/vlc/files patch-modules_demux_mkv.cpp Log: Fix build with new libebml PR: ports/121707 Reported by: Howard Goldstein <hg@cally.queue.to> Submitted by: Jonathan Lennox <lennox@cs.columbia.edu> Revision Changes Path 1.1 +20 -0 ports/multimedia/vlc/files/patch-modules_demux_mkv.cpp (new) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org" State Changed From-To: open->closed Fixed, Thanks! |