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

MacPorts noreply at macports.org
Mon Oct 12 22:43:42 PDT 2015


#49248: mvktoolnix @7.9.0 +wxwidgets app.executable mmg does not exist
-----------------------+--------------------------------
 Reporter:  letaage@…  |      Owner:  macports-tickets@…
     Type:  defect     |     Status:  new
 Priority:  Normal     |  Milestone:
Component:  ports      |    Version:  2.3.4
 Keywords:             |       Port:  mkvtoolnix
-----------------------+--------------------------------
 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>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list