Opened 9 years ago
Closed 7 years ago
#49248 closed defect (fixed)
mvktoolnix @7.9.0 +wxwidgets app.executable mmg does not exist
Reported by: | letaage | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | Cc: | ||
Port: | mkvtoolnix |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
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
- 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++
- 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 wiki:Migration and in 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.
Attachments (1)
Change History (7)
Changed 9 years ago by letaage
comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
comment:2 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
Don't forget to use WikiFormatting and TracLinks when writing in Trac.
comment:3 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to letaage@…:
I have followed the recommendations in wiki:Migration and in wiki:LibcxxOnOlderSystems
I removed all my ports with:
$ sudo port clean --all all
"sudo port clean --all all" does not remove any installed ports; it just removes their work directories and distfiles. If you want to uninstall all installed ports (and you do need to do that if you've switched from libstdc++ to libc++), you need to run "sudo port uninstall installed".
comment:4 follow-up: 5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
(Actually you only need to uninstall ports that use C++, but it might be easier to uninstall all ports than to try to figure out which ports use C++.)
comment:5 Changed 9 years ago by letaage
Replying to ryandesign@…:
(Actually you only need to uninstall ports that use C++, but it might be easier to uninstall all ports than to try to figure out which ports use C++.)
I think that at some point I did use
$ sudo port uninstall installed
Actually I must have because at one point I uninstalled macports per the instructions here: https://guide.macports.org/chunked/installing.macports.uninstalling.html and reinstalled it again, then modified the new macports.conf file for libc++ etc
comment:6 Changed 7 years ago by ctreleaven (Craig Treleaven)
Resolution: | → fixed |
---|---|
Status: | new → closed |
mkvtoolnix now at 13.0.0 and uses Qt5 instead of wxwidgets. Therefore likely fixed. Please reopen if still a problem.
log file from sudo port install mkvtoolnix +wxwidgets