Problem installing mkvtoolnix

Tom Armitage tom at expat.dyndns.org
Sun Oct 11 15:40:03 PDT 2015


Thanks for the reply Ryan,

Ok so I've dug a little further back into the log file and found the 
following:

<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>

The error messages all seem to mention libebml, does this mean there is 
a problem with libebml in my installation?

I've looked much earlier in the log file for reference to libebml and 
found this:

<snip>
:debug:main epoch: in tree: 0 installed: 0
:debug:main libebml 1.3.1_0 exists in the ports tree
:debug:main libebml 1.3.1_0  is the latest installed
:debug:main libebml 1.3.1_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: 
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/textproc/libebml
:debug:main OS darwin/12.6.0 (Mac OS X 10.8) arch i386
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from 
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main Running callback 
portconfigure::add_automatic_compiler_dependencies
:debug:main Finished running callback 
portconfigure::add_automatic_compiler_dependencies
:debug:main Running callback 
portbuild::add_automatic_buildsystem_dependencies
:debug:main Finished running callback 
portbuild::add_automatic_buildsystem_dependencies
:debug:main No need to upgrade! libebml 1.3.1_0 >= libebml 1.3.1_0
:debug:main epoch: in tree: 0 installed: 0
<snip>
:debug:main Searching for dependency: libebml
:debug:main Found Dependency: receipt exists for libebml
<snip>

Does this trace suggest that libebml has been built for i386 not x86_64? 
  If so how do I fix this? Is this a bug?

In my /opt/local/etc/macports/macports.conf file I have set build_arch 
to x86_64 and universal_archs to x86_64 i386.

I am using OS X 10.8 with all the latest updates and the latest version 
of Xcode for 10.8. I have erased my port installation and reinstalled it 
again a three or four times following the migration steps but have run 
into this problem and can't work out how to fix it.

I can post the entire log file if required, but it is 700kB+ in size so 
I'll hold off for now.

Thanks again for your help!
Tom

On 12/10/2015 02:32, Ryan Schmidt wrote:
> On Oct 11, 2015, at 4:58 AM, Tom Armitage wrote:
> 
>> I have been trying to install mkvtoolnix and it keeps failing at the 
>> linking stage with the following error:
>> 
>> 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
> 
> It seems like the relevant error would be shown before these lines.
> 
>> Trac.macports.org has been down all weekend (at least for me) so I 
>> have not been to research how to fix the problem.
> 
> Yes, sorry, the issue tracker is down for an unknown reason. It has
> been reported to the administrator.


More information about the macports-users mailing list