Opened 5 years ago

Closed 5 years ago

#58996 closed defect (fixed)

mkvtoolnix @30.1.0_1: compilation errors

Reported by: MaddTheSane (C.W. Betts) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: haspatch Cc: jpenney (Jason Penney), gavinbeatty (Gavin Beatty), chrisridd (Chris Ridd), i0ntempest
Port: mkvtoolnix

Description

When compiling mkvtoolnix, I run into an issue when compiling some files:

:info:build In file included from src/common/xml/ebml_tags_converter.cpp:19:
:info:build In file included from src/common/strings/formatting.h:21:
:info:build src/common/strings/editing.h:32:10: fatal error: no viable conversion from returned value of type 'const std::__1::basic_string<char>' to function return type 'std::vector<std::string>' (aka 'vector<basic_string<char, char_traits<char>, allocator<char> > >')
:info:build   return split(text, boost::regex("\\Q"s + pattern, boost::regex::perl), max);
:info:build          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:551:5: note: candidate constructor not viable: no known conversion from 'const std::__1::basic_string<char>' to 'const std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > > &' for 1st argument
:info:build     vector(const vector& __x);
:info:build     ^
:info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:558:5: note: candidate constructor not viable: no known conversion from 'const std::__1::basic_string<char>' to 'initializer_list<std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >::value_type>' (aka 'initializer_list<std::__1::basic_string<char> >') for 1st argument
:info:build     vector(initializer_list<value_type> __il);
:info:build     ^
:info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:564:5: note: candidate constructor not viable: no known conversion from 'const std::__1::basic_string<char>' to 'std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > > &&' for 1st argument
:info:build     vector(vector&& __x)
:info:build     ^
:info:build /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:869:5: note: candidate function
:info:build     operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); }
:info:build     ^

Attachments (3)

main.log (828.1 KB) - added by MaddTheSane (C.W. Betts) 5 years ago.
Build log
Portfile (4.2 KB) - added by dsteck 5 years ago.
(naively) updated Portfile to 38.0.0
Protfile.diff (956 bytes) - added by i0ntempest 5 years ago.

Download all attachments as: .zip

Change History (18)

Changed 5 years ago by MaddTheSane (C.W. Betts)

Attachment: main.log added

Build log

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Cc: ryandesign removed
Owner: set to ryandesign
Status: newassigned

comment:2 Changed 5 years ago by jpenney (Jason Penney)

Cc: jpenney added

comment:3 Changed 5 years ago by gavinbeatty (Gavin Beatty)

Cc: gavinbeatty added

comment:4 Changed 5 years ago by gavinbeatty (Gavin Beatty)

Downgrading to boost 1.70.0 resolved the problem for me.

To do so, I had to clone https://github.com/macports/macports-ports, find the revision with boost 1.70.0 and check that out (git checkout 15c2c81d). Then cd into devel/boost and install with sudo port install ./Portfile. I also built mkvtoolnix at this revision, but I can't remember if this was necessary. I just removed boost as a dependency in the mkvtoolnix Portfile, and built it the same way (sudo port install ./multimedia/mkvtoolnix/Portfile).

comment:5 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Instead of downgrading boost, I should update mkvtoolnix (and its dependencies) to the latest version. Version 36.0.0 included support for building with boost 1.71.0.

comment:6 Changed 5 years ago by gavinbeatty (Gavin Beatty)

Yes, thanks. I wasn't clear, but I was just suggesting a temporary workaround.

comment:7 Changed 5 years ago by chrisridd (Chris Ridd)

Cc: chrisridd added

comment:8 Changed 5 years ago by i0ntempest

Cc: i0ntempest added

comment:9 Changed 5 years ago by i0ntempest

Any news on this? I installed mkvtoolnix before but it no longer works (crashes on start).

comment:10 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

I have not worked on this.

comment:11 Changed 5 years ago by dsteck

A naive update of the portfile to mkvtoolnix 38.0.0 worked (at least compiled). Portfile attached.

Changed 5 years ago by dsteck

Attachment: Portfile added

(naively) updated Portfile to 38.0.0

comment:12 Changed 5 years ago by mf2k (Frank Schima)

Thanks. Per the guidelines, please instead attach a unified diff of the Portfile so we can easily see what changes you are proposing. Or better yet, submit a GitHub pull request.

comment:13 Changed 5 years ago by i0ntempest

Diff file attached, created using new Profile provided above and local Portfile on my Mac.

Changed 5 years ago by i0ntempest

Attachment: Protfile.diff added

comment:14 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: haspatch added

comment:15 Changed 5 years ago by i0ntempest

Resolution: fixed
Status: assignedclosed

In 8d9a9ade28467e175f242f651d82f9efb31aab92/macports-ports (master):

mkvtoolnix: Update to 38.0.0

Closes: #58996
Closes: #59041

Note: See TracTickets for help on using tickets.