[MacPorts] #49248: mvktoolnix @7.9.0 +wxwidgets app.executable mmg does not exist

MacPorts noreply at macports.org
Mon Oct 12 22:55:46 PDT 2015


#49248: mvktoolnix @7.9.0 +wxwidgets app.executable mmg does not exist
-------------------------+--------------------------
  Reporter:  letaage@…   |      Owner:  ryandesign@…
      Type:  defect      |     Status:  new
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.3.4
Resolution:              |   Keywords:
      Port:  mkvtoolnix  |
-------------------------+--------------------------
Changes (by ryandesign@…):

 * owner:  macports-tickets@… => ryandesign@…


Old description:

> I am having trouble installing mkvtoolnix @7.9.0 under OS X 10.8.
>
> I am using the following command to install mkvtoolnix:
>
>    $ sudo port install mkvtoolnix +wvwidgets
>
> 1- libebml required "port install -s" to build using the correct
> cxx_stdlib for mkvtoolnix port despite macports.conf being set to always
> compile from source and to use libc++
> 2- mkvtoolnix does not build properly even with libebml compiled using
> correct version of libc++.
>
> Initially the installation was failing with a "symbol(s) not found for
> architecture x86_64" error relating to libebml.
>
> I have followed the recommendations in
> https://trac.macports.org/wiki/Migration and in
> https://trac.macports.org/wiki/LibcxxOnOlderSystems
>
> I removed all my ports with:
>
>    $ sudo port clean --all all
>
> I set my macports.conf file with the following options:
>
>    build_arch              x86_64
>    universal_archs         x86_64 i386
>    cxx_stdlib              libc++
>    buildfromsource         always
>    delete_la_files         yes
>
> I did a selfupdate then reinstalled all my ports using the
> restore_ports.tcl script.
>
>    $ sudo ./restore_ports.tcl myports.txt
>
> Even after doing the above migration and libc++ steps, mkvtoolix still
> failed with the same error relating to libebml:
>
> <snip>
> :info:build /usr/bin/clang++ -L/opt/local/lib -L/opt/local/lib
> -Wl,-headerpad_max_install_names -stdlib=libc++ -arch x86_64
> -L/opt/local/lib -Llib/avilib-0.6.10 -Llib/librmff -Lsrc/common
> -Llib/pugixml/src -o src/mkvmerge src/merge/mkvmerge.o -Lsrc/merge
> -lmtxmerge -Lsrc/input -lmtxinput -Lsrc/output -lmtxoutput -Lsrc/merge
> -lmtxmerge -lmtxcommon -lmagic -lz -lmatroska -lebml -lz -lpugixml
> -liconv -lintl -L/opt/local/lib -lcurl -lssl -lcrypto -lssl -lcrypto -lz
> -lboost_regex-mt -lboost_filesystem-mt -lboost_system-mt -lavi -lrmff
> -Lsrc/mpegparser -lmpegparser -lFLAC -logg -lm -lvorbis -logg
> :info:build Undefined symbols for architecture x86_64:
> :info:build   "libebml::EbmlString::SetValue(std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
> referenced from:
> :info:build       render_ebml_head(mm_io_c*) in
> libmtxmerge.a(output_control.o)
> :info:build       create_next_output_file() in
> libmtxmerge.a(output_control.o)
> :info:build       parse_simple_chapters(mm_text_io_c*, long long, long
> long, long long, std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in libmtxcommon.a(chapters.o)
> :info:build       fix_mandatory_chapter_elements(libebml::EbmlElement*)
> in libmtxcommon.a(chapters.o)
> :info:build       parse_cue_chapters(mm_text_io_c*, long long, long long,
> long long, std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&, std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&,
> std::__1::unique_ptr<libmatroska::KaxTags,
> std::__1::default_delete<libmatroska::KaxTags> >*) in
> libmtxcommon.a(cue_parser.o)
> :info:build       add_elements_for_cue_entry(cue_parser_args_t&,
> std::__1::unique_ptr<libmatroska::KaxTags,
> std::__1::default_delete<libmatroska::KaxTags> >*) in
> libmtxcommon.a(cue_parser.o)
> :info:build
> generic_packetizer_c::set_codec_id(std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
> libmtxmerge.a(generic_packetizer.o)
> :info:build       ...
> :info:build
> "libebml::EbmlUnicodeString::SetValueUTF8(std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
> referenced from:
> :info:build       create_next_output_file() in
> libmtxmerge.a(output_control.o)
> :info:build       parse_simple_chapters(mm_text_io_c*, long long, long
> long, long long, std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in libmtxcommon.a(chapters.o)
> :info:build       add_elements_for_cue_entry(cue_parser_args_t&,
> std::__1::unique_ptr<libmatroska::KaxTags,
> std::__1::default_delete<libmatroska::KaxTags> >*) in
> libmtxcommon.a(cue_parser.o)
> :info:build
> generic_packetizer_c::set_track_name(std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
> libmtxmerge.a(generic_packetizer.o)
> :info:build       generic_packetizer_c::set_headers() in
> libmtxmerge.a(generic_packetizer.o)
> :info:build
> mtx::xml::ebml_converter_c::parse_ustring(mtx::xml::ebml_converter_c::parser_context_t&)
> in libmtxcommon.a(ebml_converter.o)
> :info:build       mtx::tags::set_simple_name(libmatroska::KaxTagSimple&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in libmtxcommon.a(tags.o)
> :info:build       ...
> :info:build   "libebml::UTFstring::SetUTF8(std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
> referenced from:
> :info:build       cue_str_internal_to_utf(cue_parser_args_t&,
> std::__1::basic_string<char, std::__1::char_traits<char>,
> std::__1::allocator<char> > const&) in libmtxcommon.a(cue_parser.o)
> :info:build
> fix_mandatory_segmentinfo_elements(libebml::EbmlElement*) in
> libmtxcommon.a(segmentinfo.o)
> :info:build       mtx::tags::find_simple(std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const&,
> libebml::EbmlMaster&) in libmtxcommon.a(tags.o)
> :info:build   "libebml::EbmlString::operator std::__1::basic_string<char,
> std::__1::char_traits<char>, std::__1::allocator<char> > const &()
> const", referenced from:
> :info:build
> mtx::xml::ebml_chapters_converter_c::fix_display(libmatroska::KaxChapterDisplay&)
> const in libmtxcommon.a(ebml_chapters_converter.o)
> :info:build ld: symbol(s) not found for architecture x86_64
> :info:build clang: error: linker command failed with exit code 1 (use -v
> to see invocation)
> :info:build Command failed:  cd
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/work/mkvtoolnix-7.9.0"
> && ./drake default -j2 V=1
> :info:build Exit code: 1
> :error:build org.macports.build for port mkvtoolnix returned: command
> execution failed
> :debug:build Error code: CHILDSTATUS 7901 1
> :debug:build Backtrace: command execution failed
>     while executing
> "system -nice 0 $fullcmdstring"
>     ("eval" body line 1)
>     invoked from within
> "eval system $notty $nice \$fullcmdstring"
>     invoked from within
> "command_exec build"
>     (procedure "portbuild::build_main" line 8)
>     invoked from within
> "portbuild::build_main org.macports.build"
>     ("eval" body line 1)
>     invoked from within
> "eval $procedure $targetname"
> :info:build Warning: targets not executed for mkvtoolnix:
> org.macports.activate org.macports.build org.macports.destroot
> org.macports.install
> :notice:build Please see the log file for port mkvtoolnix for details:
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/main.log
> <end>
>
> I uninstalled and cleaned libeblm and associated packages:
>
>    $ sudo port uninstall libmatroska libebml
>    $ sudo port clean --all libmatroska libebml
>
> I then sucessfully reinstalled libebml etc with the "from source" flag on
> the command line:
>
>    $ sudo port -s install libmatroska libebml
>
> I attempted to install mkvtoolnix again:
>
>    $ sudo port install mkvtoolnix +wvwidgets
>
> This time it failed with a different error message:
>
> <snip>
> /usr/bin/install -c -m 644 po/zh_CN.mo
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/work/destroot/opt/local/share/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo
> /usr/bin/install -c -m 644 po/zh_TW.mo
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/work/destroot/opt/local/share/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo
> Error: org.macports.destroot for port mkvtoolnix returned: app.executable
> mmg does not exist
> Warning: targets not executed for mkvtoolnix: org.macports.activate
> org.macports.destroot org.macports.install
> Please see the log file for port mkvtoolnix for details:
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/main.log
> To report a bug, follow the instructions in the guide:
>     http://guide.macports.org/#project.tickets
> Error: Processing of port mkvtoolnix failed
> bash-3.2$
> <end>
>
> This indicates that the mmg application may not have built properly.  The
> log file from this last installation attempt is attached.
>
> It appears that there are two issues:
>
> I am using OS X 10.8 with latest Xcode for 10.8, all OS X updates and
> macports 2.3.4.

New description:

 I am having trouble installing mkvtoolnix @7.9.0 under OS X 10.8.

 I am using the following command to install mkvtoolnix:

 {{{
    $ sudo port install mkvtoolnix +wvwidgets
 }}}

 1. libebml required "port install -s" to build using the correct
 cxx_stdlib for mkvtoolnix port despite macports.conf being set to always
 compile from source and to use libc++
 2. mkvtoolnix does not build properly even with libebml compiled using
 correct version of libc++.

 Initially the installation was failing with a "symbol(s) not found for
 architecture x86_64" error relating to libebml.

 I have followed the recommendations in
 https://trac.macports.org/wiki/Migration and in
 https://trac.macports.org/wiki/LibcxxOnOlderSystems

 I removed all my ports with:

 {{{
    $ sudo port clean --all all
 }}}

 I set my macports.conf file with the following options:

 {{{
    build_arch              x86_64
    universal_archs         x86_64 i386
    cxx_stdlib              libc++
    buildfromsource         always
    delete_la_files         yes
 }}}

 I did a selfupdate then reinstalled all my ports using the
 restore_ports.tcl script.

 {{{
    $ sudo ./restore_ports.tcl myports.txt
 }}}

 Even after doing the above migration and libc++ steps, mkvtoolix still
 failed with the same error relating to libebml:

 {{{
 <snip>
 :info:build /usr/bin/clang++ -L/opt/local/lib -L/opt/local/lib
 -Wl,-headerpad_max_install_names -stdlib=libc++ -arch x86_64
 -L/opt/local/lib -Llib/avilib-0.6.10 -Llib/librmff -Lsrc/common
 -Llib/pugixml/src -o src/mkvmerge src/merge/mkvmerge.o -Lsrc/merge
 -lmtxmerge -Lsrc/input -lmtxinput -Lsrc/output -lmtxoutput -Lsrc/merge
 -lmtxmerge -lmtxcommon -lmagic -lz -lmatroska -lebml -lz -lpugixml -liconv
 -lintl -L/opt/local/lib -lcurl -lssl -lcrypto -lssl -lcrypto -lz
 -lboost_regex-mt -lboost_filesystem-mt -lboost_system-mt -lavi -lrmff
 -Lsrc/mpegparser -lmpegparser -lFLAC -logg -lm -lvorbis -logg
 :info:build Undefined symbols for architecture x86_64:
 :info:build   "libebml::EbmlString::SetValue(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
 referenced from:
 :info:build       render_ebml_head(mm_io_c*) in
 libmtxmerge.a(output_control.o)
 :info:build       create_next_output_file() in
 libmtxmerge.a(output_control.o)
 :info:build       parse_simple_chapters(mm_text_io_c*, long long, long
 long, long long, std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char> > const&, std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
 libmtxcommon.a(chapters.o)
 :info:build       fix_mandatory_chapter_elements(libebml::EbmlElement*) in
 libmtxcommon.a(chapters.o)
 :info:build       parse_cue_chapters(mm_text_io_c*, long long, long long,
 long long, std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char> > const&, std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&,
 std::__1::unique_ptr<libmatroska::KaxTags,
 std::__1::default_delete<libmatroska::KaxTags> >*) in
 libmtxcommon.a(cue_parser.o)
 :info:build       add_elements_for_cue_entry(cue_parser_args_t&,
 std::__1::unique_ptr<libmatroska::KaxTags,
 std::__1::default_delete<libmatroska::KaxTags> >*) in
 libmtxcommon.a(cue_parser.o)
 :info:build
 generic_packetizer_c::set_codec_id(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
 libmtxmerge.a(generic_packetizer.o)
 :info:build       ...
 :info:build
 "libebml::EbmlUnicodeString::SetValueUTF8(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
 referenced from:
 :info:build       create_next_output_file() in
 libmtxmerge.a(output_control.o)
 :info:build       parse_simple_chapters(mm_text_io_c*, long long, long
 long, long long, std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char> > const&, std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
 libmtxcommon.a(chapters.o)
 :info:build       add_elements_for_cue_entry(cue_parser_args_t&,
 std::__1::unique_ptr<libmatroska::KaxTags,
 std::__1::default_delete<libmatroska::KaxTags> >*) in
 libmtxcommon.a(cue_parser.o)
 :info:build
 generic_packetizer_c::set_track_name(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
 libmtxmerge.a(generic_packetizer.o)
 :info:build       generic_packetizer_c::set_headers() in
 libmtxmerge.a(generic_packetizer.o)
 :info:build
 mtx::xml::ebml_converter_c::parse_ustring(mtx::xml::ebml_converter_c::parser_context_t&)
 in libmtxcommon.a(ebml_converter.o)
 :info:build       mtx::tags::set_simple_name(libmatroska::KaxTagSimple&,
 std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char> > const&) in libmtxcommon.a(tags.o)
 :info:build       ...
 :info:build   "libebml::UTFstring::SetUTF8(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
 referenced from:
 :info:build       cue_str_internal_to_utf(cue_parser_args_t&,
 std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char> > const&) in libmtxcommon.a(cue_parser.o)
 :info:build
 fix_mandatory_segmentinfo_elements(libebml::EbmlElement*) in
 libmtxcommon.a(segmentinfo.o)
 :info:build       mtx::tags::find_simple(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&,
 libebml::EbmlMaster&) in libmtxcommon.a(tags.o)
 :info:build   "libebml::EbmlString::operator std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const &() const",
 referenced from:
 :info:build
 mtx::xml::ebml_chapters_converter_c::fix_display(libmatroska::KaxChapterDisplay&)
 const in libmtxcommon.a(ebml_chapters_converter.o)
 :info:build ld: symbol(s) not found for architecture x86_64
 :info:build clang: error: linker command failed with exit code 1 (use -v
 to see invocation)
 :info:build Command failed:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/work/mkvtoolnix-7.9.0"
 && ./drake default -j2 V=1
 :info:build Exit code: 1
 :error:build org.macports.build for port mkvtoolnix returned: command
 execution failed
 :debug:build Error code: CHILDSTATUS 7901 1
 :debug:build Backtrace: command execution failed
     while executing
 "system -nice 0 $fullcmdstring"
     ("eval" body line 1)
     invoked from within
 "eval system $notty $nice \$fullcmdstring"
     invoked from within
 "command_exec build"
     (procedure "portbuild::build_main" line 8)
     invoked from within
 "portbuild::build_main org.macports.build"
     ("eval" body line 1)
     invoked from within
 "eval $procedure $targetname"
 :info:build Warning: targets not executed for mkvtoolnix:
 org.macports.activate org.macports.build org.macports.destroot
 org.macports.install
 :notice:build Please see the log file for port mkvtoolnix for details:
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/main.log
 <end>
 }}}

 I uninstalled and cleaned libeblm and associated packages:

 {{{
    $ sudo port uninstall libmatroska libebml
    $ sudo port clean --all libmatroska libebml
 }}}

 I then sucessfully reinstalled libebml etc with the "from source" flag on
 the command line:

 {{{
    $ sudo port -s install libmatroska libebml
 }}}

 I attempted to install mkvtoolnix again:

 {{{
    $ sudo port install mkvtoolnix +wvwidgets
 }}}

 This time it failed with a different error message:

 {{{
 <snip>
 /usr/bin/install -c -m 644 po/zh_CN.mo
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/work/destroot/opt/local/share/locale/zh_CN/LC_MESSAGES/mkvtoolnix.mo
 /usr/bin/install -c -m 644 po/zh_TW.mo
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/work/destroot/opt/local/share/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo
 Error: org.macports.destroot for port mkvtoolnix returned: app.executable
 mmg does not exist
 Warning: targets not executed for mkvtoolnix: org.macports.activate
 org.macports.destroot org.macports.install
 Please see the log file for port mkvtoolnix for details:
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_mkvtoolnix/mkvtoolnix/main.log
 To report a bug, follow the instructions in the guide:
     http://guide.macports.org/#project.tickets
 Error: Processing of port mkvtoolnix failed
 bash-3.2$
 <end>
 }}}

 This indicates that the mmg application may not have built properly.  The
 log file from this last installation attempt is attached.

 It appears that there are two issues:

 I am using OS X 10.8 with latest Xcode for 10.8, all OS X updates and
 macports 2.3.4.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/49248#comment:1>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list