Created attachment 172604 [details] dmesg Hi, At the beginning just consider that I'm new to the FreeBSD and don't have much technical background to work with. I'm using FreeBSD 11 Stable: uname -a FreeBSD logic 11.0-BETA1 FreeBSD 11.0-BETA1 #0 r302783: Thu Jul 14 20:59:02 CEST 2016 root@logic:/usr/obj/usr/src/sys/MIND amd64 I've installed musicpd (works fine) and ncmpc (works fine), and ncmpcpp 0.7.4 (crashes). I've tried installing ncmpcpp from ports and binary package - both with the same result: $ ncmpcpp Abort trap (core dumped) root@logic:/usr/home/apz # ncmpcpp Abort (core dumped) I have also tried to install the program directly from source (configure, make install), both 0.7.4 and 0.7.3 versions. The classic installation didin't work. This is what I got at the beginning when running make: root@logic:~/3rd_party_sources/ncmpcpp-0.7.4 # make make all-recursive Making all in src g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I/usr/local/include -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I/usr/local/include/ncurses/ncursesw -I/usr/local/include/ncurses -I/usr/local/include -I/usr/local/include/taglib -g -O2 -std=c++0x -MT status.o -MD -MP -MF .deps/status.Tpo -c -o status.o status.cpp status.cpp: In function 'void {anonymous}::initialize_status()': status.cpp:160:71: error: 'setsockopt' was not declared in this scope setsockopt(Mpd.GetFD(), IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(flag)); ^ *** Error code 1 Stop. make[2]: stopped in /root/3rd_party_sources/ncmpcpp-0.7.4/src *** Error code 1 Stop. make[1]: stopped in /root/3rd_party_sources/ncmpcpp-0.7.4 *** Error code 1 Stop. make: stopped in /root/3rd_party_sources/ncmpcpp-0.7.4 But I managed to remedy this by adding: #include <sys/types.h> #include <sys/socket.h> to the status.cpp But then I get a lot of errors at install stage: root@logic:~/3rd_party_sources/ncmpcpp-0.7.4 # make install Making install in src g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I/usr/local/include -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -I/usr/local/include/ncurses/ncursesw -I/usr/local/include/ncurses -I/usr/local/include -I/usr/local/include/taglib -g -O2 -std=c++0x -MT status.o -MD -MP -MF .deps/status.Tpo -c -o status.o status.cpp mv -f .deps/status.Tpo .deps/status.Po /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -std=c++0x -o ncmpcpp comparators.o html.o option_parser.o string.o type_conversions.o wide_string.o actions.o bindings.o browser.o charset.o clock.o configuration.o curl_handle.o display.o enums.o format.o global.o help.o helpers.o lastfm.o lastfm_service.o lyrics.o lyrics_fetcher.o macro_utilities.o media_library.o mpdpp.o mutable_song.o ncmpcpp.o outputs.o playlist.o playlist_editor.o screen.o screen_type.o scrollpad.o search_engine.o sel_items_adder.o server_info.o settings.o song.o song_info.o song_list.o sort_playlist.o status.o statusbar.o tag_editor.o tags.o tiny_tag_editor.o title.o visualizer.o window.o -lboost_filesystem -lboost_system -lboost_locale -lboost_program_options -lboost_regex -L/usr/local/lib -licuuc -licudata -lboost_thread -L/usr/local/lib -lmpdclient -lreadline -lpthread -L/usr/local/lib -rpath /usr/local/lib -lncursesw -ltinfow -L/usr/local/lib -lcurl -L/usr/local/lib -ltag libtool: link: g++ -g -O2 -std=c++0x -o ncmpcpp comparators.o html.o option_parser.o string.o type_conversions.o wide_string.o actions.o bindings.o browser.o charset.o clock.o configuration.o curl_handle.o display.o enums.o format.o global.o help.o helpers.o lastfm.o lastfm_service.o lyrics.o lyrics_fetcher.o macro_utilities.o media_library.o mpdpp.o mutable_song.o ncmpcpp.o outputs.o playlist.o playlist_editor.o screen.o screen_type.o scrollpad.o search_engine.o sel_items_adder.o server_info.o settings.o song.o song_info.o song_list.o sort_playlist.o status.o statusbar.o tag_editor.o tags.o tiny_tag_editor.o title.o visualizer.o window.o -lboost_filesystem -lboost_system -lboost_locale -lboost_program_options -lboost_regex -L/usr/local/lib -licuuc -licudata -lboost_thread -lmpdclient -lreadline -lpthread -lncursesw -ltinfow -lcurl -ltag -Wl,-rpath -Wl,/usr/local/lib option_parser.o: In function `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_prefix()': /usr/local/include/boost/regex/v4/perl_matcher_common.hpp:333: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)' option_parser.o: In function `bool boost::regex_match<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)': /usr/local/include/boost/regex/v4/perl_matcher.hpp:374: undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' option_parser.o: In function `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_match()': /usr/local/include/boost/regex/v4/perl_matcher_non_recursive.hpp:991: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)' actions.o: In function `Actions::EditLibraryAlbum::run()': /root/3rd_party_sources/ncmpcpp-0.7.4/src/actions.cpp:1455: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' browser.o: In function `Browser::getDirectory(std::string)': /usr/local/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&, std::codecvt<wchar_t, char, __mbstate_t> const&)' browser.o: In function `(anonymous namespace)::getLocalDirectoryRecursively(std::vector<MPD::Song, std::allocator<MPD::Song> >&, std::string const&)': /usr/local/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&, std::codecvt<wchar_t, char, __mbstate_t> const&)' browser.o: In function `(anonymous namespace)::clearDirectory(std::string const&)': /usr/local/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&, std::codecvt<wchar_t, char, __mbstate_t> const&)' /usr/local/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&, std::codecvt<wchar_t, char, __mbstate_t> const&)' charset.o: In function `Charset::toUtf8From(std::string const&, char const*)': /usr/local/include/boost/locale/encoding.hpp:75: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::locale::conv::to_utf<char>(char const*, char const*, std::string const&, boost::locale::conv::method_type)' charset.o: In function `Charset::fromUtf8To(std::string const&, char const*)': /usr/local/include/boost/locale/encoding.hpp:75: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::locale::conv::to_utf<char>(char const*, char const*, std::string const&, boost::locale::conv::method_type)' charset.o: In function `Charset::utf8ToLocale(std::string const&)': /usr/local/include/boost/locale/encoding.hpp:84: undefined reference to `std::string boost::locale::conv::from_utf<char>(char const*, char const*, std::string const&, boost::locale::conv::method_type)' charset.o: In function `Charset::localeToUtf8(std::string const&)': /usr/local/include/boost/locale/encoding.hpp:75: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::locale::conv::to_utf<char>(char const*, char const*, std::string const&, boost::locale::conv::method_type)' charset.o: In function `Charset::utf8ToLocale(std::string&&)': /usr/local/include/boost/locale/encoding.hpp:84: undefined reference to `std::string boost::locale::conv::from_utf<char>(char const*, char const*, std::string const&, boost::locale::conv::method_type)' charset.o: In function `Charset::localeToUtf8(std::string&&)': /usr/local/include/boost/locale/encoding.hpp:75: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::locale::conv::to_utf<char>(char const*, char const*, std::string const&, boost::locale::conv::method_type)' charset.o: In function `boost::locale::generator::operator()(std::string const&) const': /usr/local/include/boost/locale/generator.hpp:202: undefined reference to `boost::locale::generator::generate(std::string const&) const' /usr/local/include/boost/locale/generator.hpp:202: undefined reference to `boost::locale::generator::generate(std::string const&) const' configuration.o: In function `configure(int, char**)': /root/3rd_party_sources/ncmpcpp-0.7.4/src/configuration.cpp:76: undefined reference to `boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/configuration.cpp:97: undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)' configuration.o: In function `boost::program_options::variables_map::operator[](std::string const&) const': /usr/local/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' /usr/local/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' /usr/local/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' /usr/local/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' /usr/local/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' configuration.o:/usr/local/include/boost/program_options/variables_map.hpp:155: more undefined references to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' follow configuration.o: In function `boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:170: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)' configuration.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::string const&, std::string const&, int)': /usr/local/include/boost/program_options/errors.hpp:372: undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::string const&, std::string const&, std::string const&, int)' configuration.o: In function `boost::program_options::basic_parsed_options<char> boost::program_options::parse_command_line<char>(int, char const* const*, boost::program_options::options_description const&, int, boost::function1<std::pair<std::string, std::string>, std::string const&>)': /usr/local/include/boost/program_options/detail/convert.hpp:79: undefined reference to `boost::program_options::to_internal(std::string const&)' configuration.o: In function `boost::program_options::basic_parsed_options<char> boost::program_options::parse_command_line<char>(int, char const* const*, boost::program_options::options_description const&, int, boost::function1<std::pair<std::string, std::string>, std::string const&>)': /usr/local/include/boost/program_options/detail/parsers.hpp:43: undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)' configuration.o: In function `boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::pair<std::string, std::string>, std::string const&>)': /usr/local/include/boost/program_options/detail/parsers.hpp:77: undefined reference to `boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::string, std::string>, std::string const&>)' configuration.o: In function `void boost::program_options::validate<std::string, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::string, std::allocator<std::string> >*, int)': /usr/local/include/boost/program_options/detail/value_semantic.hpp:149: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)' /usr/local/include/boost/program_options/detail/value_semantic.hpp:153: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)' configuration.o: In function `void boost::program_options::validate<int, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, int*, long)': /usr/local/include/boost/program_options/detail/value_semantic.hpp:92: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)' configuration.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' configuration.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' configuration.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' configuration.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' configuration.o:(.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' configuration.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30): more undefined references to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' follow configuration.o:(.rodata._ZTVN5boost15program_options11typed_valueISscEE[_ZTVN5boost15program_options11typed_valueISscEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' configuration.o:(.rodata._ZTVN5boost15program_options11typed_valueIicEE[_ZTVN5boost15program_options11typed_valueIicEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' configuration.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' lastfm_service.o: In function `bool boost::regex_search<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::string>)': /usr/local/include/boost/regex/v4/perl_matcher.hpp:374: undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' lastfm_service.o: In function `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_prefix()': /usr/local/include/boost/regex/v4/perl_matcher_common.hpp:333: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)' tags.o: In function `(anonymous namespace)::tagList(MPD::MutableSong const&, std::string (MPD::Song::*)(unsigned int) const) [clone .constprop.120]': /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:50: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' tags.o: In function `Tags::write(MPD::MutableSong&)': /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:149: undefined reference to `TagLib::String::String(std::string const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:149: undefined reference to `TagLib::String::String(std::string const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:149: undefined reference to `TagLib::String::String(std::string const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:149: undefined reference to `TagLib::String::String(std::string const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:149: undefined reference to `TagLib::String::String(std::string const&, TagLib::String::Type)' tags.o:/root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:149: more undefined references to `TagLib::String::String(std::string const&, TagLib::String::Type)' follow tags.o: In function `Tags::write(MPD::MutableSong&)': /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:121: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:122: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:123: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:134: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' /root/3rd_party_sources/ncmpcpp-0.7.4/src/tags.cpp:135: undefined reference to `TagLib::String::String(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, TagLib::String::Type)' collect2: error: ld returned 1 exit status *** Error code 1 Stop. make[1]: stopped in /root/3rd_party_sources/ncmpcpp-0.7.4/src *** Error code 1 Stop. make: stopped in /root/3rd_party_sources/ncmpcpp-0.7.4 root@logic:~/3rd_party_sources/ncmpcpp-0.7.4 # I have boost, as well as taglib: root@logic:~/3rd_party_sources/ncmpcpp-0.7.4 # pkg info taglib taglib-1.10 Name : taglib Version : 1.10 Installed on : Sat Jul 16 12:43:32 2016 CEST Origin : audio/taglib Architecture : freebsd:11:x86:64 Prefix : /usr/local Categories : audio Licenses : MPL or LGPL21 Maintainer : jhale@FreeBSD.org WWW : http://taglib.github.com/ Comment : Library for manipulating ID3 tags and Ogg comments Options : RCC : off root@logic:~/3rd_party_sources/ncmpcpp-0.7.4 # pkg info boost-libs boost-libs-1.55.0_12 Name : boost-libs Version : 1.55.0_12 Installed on : Sun Jul 17 00:40:23 2016 CEST Origin : devel/boost-libs Architecture : freebsd:11:x86:64 Prefix : /usr/local Categories : devel Licenses : Maintainer : office@FreeBSD.org WWW : http://www.boost.org/ Comment : Free portable C++ libraries (without Boost.Python) Options : DEBUG : off ICONV : on ICU : on OPTIMIZED_CFLAGS: off VERBOSE_BUILD : off Shared Libs required: libicuuc.so.55 libicui18n.so.55 libicudata.so.55 Shared Libs provided: libboost_math_tr1.so.1.55.0 libboost_program_options.so.1.55.0 libboost_random.so.1.55.0 libboost_prg_exec_monitor.so.1.55.0 libboost_math_tr1f.so.1.55.0 libboost_unit_test_framework.so.1.55.0 libboost_thread.so.1.55.0 libboost_math_c99.so.1.55.0 libboost_context.so.1.55.0 libboost_serialization.so.1.55.0 libboost_wserialization.so.1.55.0 libboost_locale.so.1.55.0 libboost_date_time.so.1.55.0 libboost_log_setup.so.1.55.0 libboost_log.so.1.55.0 libboost_timer.so.1.55.0 libboost_chrono.so.1.55.0 libboost_regex.so.1.55.0 libboost_signals.so.1.55.0 libboost_iostreams.so.1.55.0 libboost_graph.so.1.55.0 libboost_filesystem.so.1.55.0 libboost_system.so.1.55.0 libboost_atomic.so.1.55.0 libboost_coroutine.so.1.55.0 libboost_math_c99f.so.1.55.0 libboost_wave.so.1.55.0 Annotations : repo_type : binary repository : FreeBSD Flat size : 127MiB Description : Boost provides free peer-reviewed portable C++ source libraries. I can't attach the coredump, as it's 6MB, so I'm only adding dmesg. If you need anything more, just ask ;) Thanks, Artur
Hello, I'm unable to reproduce the problem. But that doesn't mean that it doesn't exist. Let's start with a trace of a all syscalls. Maybe they give a hint about what's going wrong. Can you please execute the application with 'truss ncmpcpp' and attach the likely extensive output to this PR? Regarding build ncmpcpp by hand: It's not that easy. ncmpcpps code is cluttered with Linuxism, to build it on FreeBSDseveral patches are needed. The linker errors may be caused by the build system itself, it looks like it's building and linking with g++ instead of Clang. You could try to force it to clang with './configure CC=/usr/bin/clang CXX=/usr/bin/clang++ LD=/usr/bin/clang++ ' but generally it's better to use port.
Created attachment 172662 [details] truss output (run as user)
Created attachment 172663 [details] truss output (run as root)
(In reply to yamagi from comment #1) Attached both user and root truss outputs. I've skimmed through both, and there seems to be a lot of lib dependencies missing (ie. boost, heimdal). I've installed boost using pkg and heimdal as an optional dependency with another port (can't remember which). root@logic:~/3rd_party_sources/ncmpcpp-0.7.4 # pkg info heimdal heimdal-1.5.3_4 Name : heimdal Version : 1.5.3_4 Installed on : Mon Jul 18 17:31:34 2016 CEST Origin : security/heimdal Architecture : freebsd:11:x86:64 Prefix : /usr/local Categories : security ipv6 Licenses : BSD3CLAUSE Maintainer : hrs@FreeBSD.org WWW : http://www.h5l.org/ Comment : Popular BSD-licensed implementation of Kerberos 5 Options : BDB : on CRACKLIB : off DIGEST : on IPV6 : on KX509 : on LDAP : off PKINIT : on SQLITE : off X11 : off After this i've rebuilt heimdal with X11 and cracklib, but the problem persists exactly as described previously. I've also run the clang ./configure you proposed, and it stopped on missing boost/bind.hpp: checking for ranlib... ranlib checking command to parse /usr/local/bin/nm -B output from /usr/bin/clang object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... /usr/bin/clang -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if /usr/bin/clang supports -fno-rtti -fno-exceptions... yes checking for /usr/bin/clang option to produce PIC... -fPIC -DPIC checking if /usr/bin/clang PIC flag -fPIC -DPIC works... yes checking if /usr/bin/clang static flag -static works... yes checking if /usr/bin/clang supports -c -o file.o... yes checking if /usr/bin/clang supports -c -o file.o... (cached) yes checking whether the /usr/bin/clang linker (/usr/bin/clang++) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... freebsd11.0 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking how to run the C++ preprocessor... /usr/bin/clang++ -E checking for ld used by /usr/bin/clang++... /usr/bin/clang++ checking if the linker (/usr/bin/clang++) is GNU ld... no checking whether the /usr/bin/clang++ linker (/usr/bin/clang++) supports shared libraries... yes checking for /usr/bin/clang++ option to produce PIC... -fPIC -DPIC checking if /usr/bin/clang++ PIC flag -fPIC -DPIC works... yes checking if /usr/bin/clang++ static flag -static works... yes checking if /usr/bin/clang++ supports -c -o file.o... yes checking if /usr/bin/clang++ supports -c -o file.o... (cached) yes checking whether the /usr/bin/clang++ linker (/usr/bin/clang++) supports shared libraries... yes checking dynamic linker characteristics... freebsd11.0 ld.so checking how to hardcode library paths into programs... unsupported checking whether compiler supports -std=c++0x... yes checking whether compiler supports initializer lists... yes checking whether compiler supports auto keyword... yes checking whether compiler supports lambda functions... yes checking whether calling derived member function passed to lambda without explicit this usage works ... yes checking whether compiler supports override keyword... yes checking boost/bind.hpp usability... no checking boost/bind.hpp presence... no checking for boost/bind.hpp... no I'll try to rebuild boost from port, and let you know if it changes anything.
The problem is here: mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368393216 (0x800841000) mmap(0x0,0,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) ERR#12 'Cannot allocate memory' This is likely a failing malloc() call or something the like. ncmpcpp or one of it's libraries tries to allocate 4096 kilobytes memory, the allocation fails, abort() is called and the process dies with "Abort (core dumped)". Now the question is why the allocation is failing. How much RAM is installed into the box and how big is the swap partition? Does the problem still occure if ncmpcpp is started right after a fresh reboot
(In reply to yamagi from comment #5) Hey, That's strange, as I'm running 4GB of ram and 6GB swap. I've tried running ncmpcpp straight after fresh reboot (pure command mode), but no change. Also, boost rebuilt did nothing, I've reinstalled all possible boost- and boost_ from ports. root@logic:/home/apz # grep memory /var/run/dmesg.boot real memory = 4294967296 (4096 MB) avail memory = 3880394752 (3700 MB) real memory = 4294967296 (4096 MB) avail memory = 3880394752 (3700 MB) root@logic:/home/apz # vmstat fre procs memory page faults cpu r b w avm fre flt re pi po fr sr in sy cs us sy id 0 0 0 3.5G 2.4G 3909 0 1 0 4244 86 134 2918 788 22 2 76 root@logic:/home/apz # swapinfo Device 1K-blocks Used Avail Capacity /dev/ada0p3 6040576 0 6040576 0% root@logic:/home/apz # vmstat -m Type InUse MemUse HighUse Requests Size(s) CAM dev queue 5 1K - 5 64 scsi_da 0 0K - 5 16 vtbuf 24 4080K - 70 4096 vt 11 6K - 11 512 sysmouse 1 2K - 3 2048 DEVFS3 160 40K - 179 256 DEVFS1 134 67K - 143 512 DEVFS_RULE 55 26K - 55 64,512 DEVFS 20 1K - 21 16,128 DEVFSP 6 1K - 10 64 NFSD V4client 1 1K - 1 256 NFSD lckfile 1 1K - 1 256 NFSD session 1 1K - 1 1024 pfs_nodes 21 6K - 21 256 GEOM 72 14K - 727 16,32,64,128,256,512,1024,2048,8192,16384 raid_data 0 0K - 102 32,128,256 isadev 7 1K - 7 128 acpiintr 1 1K - 1 64 acpica 7104 723K - 75256 16,32,64,128,256,512,1024,2048,4096 acpitask 1 64K - 1 65536 acpisem 82 11K - 82 128 cdev 5 2K - 5 256 filedesc 12 81K - 274 16,32,4096,8192,16384 sigio 2 1K - 2 64 filecaps 1 1K - 5 16,64 kdtrace 239 49K - 1654 64,256 kenv 116 12K - 171 16,32,64,128,8192 kqueue 68 11K - 1470 64,256,2048 proc-args 37 3K - 825 16,32,64,128,256 hhook 13 4K - 13 256 ithread 89 16K - 89 32,128,256 KTRACE 100 13K - 100 128 linker 361 1144K - 475 16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536 lockf 47 6K - 572 64,128 loginclass 3 1K - 3 64 devbuf 23438 35077K - 23867 16,32,64,128,256,512,1024,2048,4096,8192,65536 temp 31 3K - 8904 16,32,64,128,256,512,1024,2048,4096,16384,32768,65536 acpidev 48 3K - 48 64 module 354 45K - 356 128 mtx_pool 2 16K - 2 8192 osd 3 1K - 9 16,32,64,128,256 pmchooks 1 1K - 1 128 pgrp 33 5K - 52 128 session 26 4K - 29 128 proc 2 32K - 2 16384 subproc 144 289K - 1546 512,4096 cred 32 8K - 620 256 CAM SIM 5 2K - 5 256 CAM XPT 34 3K - 123 16,32,64,128,256,512,1024,2048,65536 CAM DEV 8 16K - 10 2048 CAM CCB 0 0K - 8296 2048 plimit 23 6K - 381 256 uidinfo 5 5K - 7 128,4096 dumper 1 1K - 1 512 CAM path 11 1K - 49 32 sysctl 0 0K - 1313 16,32,64 sysctloid 5260 271K - 5417 16,32,64,128 sysctltmp 0 0K - 143 16,64,256,1024 CAM periph 9 3K - 33 16,32,64,128,256 tidhash 1 32K - 1 32768 callout 3 1672K - 3 umtx 378 48K - 378 128 p1003.1b 1 1K - 1 16 SWAP 2 821K - 2 64 bus 1058 7301K - 4258 16,32,64,128,256,1024 bus-sc 119 2057K - 1832 16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536 devstat 6 13K - 6 32,4096 eventhandler 96 8K - 96 64,128 kobj 238 952K - 410 4096 Per-cpu 1 1K - 1 32 rman 246 29K - 543 32,128 sbuf 1 1K - 1049 16,32,64,128,256,512,1024,2048,4096,8192,16384,32768 toponodes 10 2K - 10 128 kbdmux 6 22K - 6 16,512,1024,2048,16384 taskqueue 47 21K - 47 16,32,256,8192 terminal 11 3K - 11 256 Unitno 33 2K - 1403 32,64 vmem 3 144K - 6 2048,4096,8192 ioctlops 0 0K - 123 256,512,1024 select 36 5K - 36 128 iov 0 0K - 271882 16,32,64,128,256,512 msg 4 30K - 4 2048,4096,8192,16384 sem 4 106K - 4 2048,4096 shm 3 36K - 5 2048,32768 tty 13 13K - 13 1024 pts 1 1K - 1 256 mbuf_tag 0 0K - 23 32,64 shmfd 1 8K - 1 8192 soname 16 2K - 18399 16,32,64,128 pcb 22 663K - 175 16,32,64,128,1024,2048,8192 LED 8 1K - 8 16,128 vfscache 1 2048K - 1 cl_savebuf 0 0K - 19 64 vfs_hash 1 1024K - 1 vnodes 1 1K - 14 32,256 mount 16 1K - 86 16,32,64,128,256 vnodemarker 0 0K - 30 512 fadvise 0 0K - 154 32 BPF 16 1043K - 17 16,128,512,4096 ifnet 4 7K - 4 128,2048 ifaddr 82 14K - 83 32,64,128,256,512,2048,4096 ether_multi 17 1K - 22 16,32,64 clone 6 1K - 6 128 lltable 14 4K - 14 256,512 routetbl 25 4K - 30 32,64,128,512 80211vap 1 4K - 1 4096 80211crypto 2 1K - 2 128,512 80211node 1 16K - 25 1024,16384 80211nodeie 4 2K - 4 32,256,512 80211ratectl 2 1K - 3 16,64 80211scan 4 7K - 4 512,2048,4096 igmp 3 1K - 3 128 in_mfilter 1 1K - 1 1024 in_multi 2 1K - 3 256 ip_moptions 2 1K - 2 64,256 encap_export_host 2 2K - 2 1024 sctp_a_it 0 0K - 3 16 sctp_vrf 1 1K - 1 64 sctp_ifa 4 1K - 4 128 sctp_ifn 2 1K - 2 128 sctp_iter 0 0K - 3 256 hostcache 1 32K - 1 32768 tcpfunc 1 1K - 1 32 syncache 1 64K - 1 65536 in6_mfilter 1 1K - 1 1024 in6_multi 15 2K - 15 32,256 ip6_moptions 2 1K - 2 32,256 ip6opt 3 1K - 3 256 mld 3 1K - 3 128 ip6ndp 4 1K - 4 64,128 inpcbpolicy 15 1K - 256 32 ipsecpolicy 30 8K - 512 256 crypto 1 1K - 1 512 rpc 2 16K - 2 8192 audit_evclass 187 6K - 231 32 pagedep 2 129K - 56 256 inodedep 7 1027K - 506 512 bmsafemap 2 9K - 378 256,8192 newblk 3 2049K - 3830 256 indirdep 0 0K - 93 128 freefrag 0 0K - 127 128 freeblks 2 1K - 240 256 freefile 2 1K - 238 64 diradd 2 1K - 340 128 mkdir 0 0K - 20 128 dirrem 1 1K - 325 128 newdirblk 0 0K - 10 64 freework 22 3K - 589 128 freedep 0 0K - 19 64 jaddref 0 0K - 360 128 jremref 0 0K - 345 128 jnewblk 0 0K - 3829 128 jfreefrag 0 0K - 127 128 jseg 41 6K - 183 128 jsegdep 9 1K - 4661 64 sbdep 0 0K - 14 64 savedino 0 0K - 111 256 jblocks 2 1K - 2 128,256 softdep 1 1K - 1 512 ufs_dirhash 87 22K - 87 16,32,64,128,256,512,1024,2048 ufs_quota 1 1024K - 1 ufs_mount 3 21K - 3 512,4096,16384 vm_pgdata 2 513K - 2 128 UMAHash 3 6K - 8 512,1024,2048,4096 memdesc 1 4K - 1 4096 atkbddev 2 1K - 2 64 entropy 0 0K - 53 4096 CAM I/O Scheduler 2 1K - 2 128 pci_link 16 2K - 16 64,128 acpi_perf 2 1K - 2 512 hdaa 10 42K - 10 256,512,1024,2048,4096,16384 hdac 1 1K - 1 1024 hdacc 2 1K - 2 32 feeder 14 2K - 17 32,128 mixer 2 8K - 2 4096 apmdev 1 1K - 1 128 madt_table 0 0K - 1 4096 USB 73 162K - 84 16,32,128,256,512,1024,2048,4096,8192,32768 USBdev 63 13K - 64 32,64,128,256,512,4096 CAM queue 13 5K - 22 16,512 io_apic 1 2K - 1 2048 MCA 10 2K - 10 16,64,128 msi 14 2K - 14 128 nexusdev 5 1K - 5 16 scsi_cd 0 0K - 5 16 gem_name 192 30K - 386 32,4096 drm_dma 1 1K - 4 16 drm_sarea 1 1K - 1 16 drm_driver 5 10K - 7 32,64,1024,8192 drm_magic 0 0K - 2 64 drm_minor 2 1K - 2 128 drm_maps 2 1K - 2 64,128 drm_files 4 2K - 12 128,512 drm_ctxbitmap 1 4K - 1 4096 drm_sman 106 14K - 271 128 drm_hashtab 3 4129K - 6 128,32768 drm_kms 61 51K - 111 16,32,64,128,256,512,1024,2048,16384 drm_vblank 7 1K - 7 16,64 i915gem 280 154K - 28844 16,32,64,128,256,512,1024,2048,4096,8192,16384 netgraph_msg 0 0K - 40 64,128,256,1024,32768 netgraph_hook 10 2K - 10 128 netgraph_node 9 3K - 19 128,256 netgraph_hci 1 1K - 1 256 netgraph_l2cap 1 1K - 1 128 netgraph_btsocks_hci_raw 1 8K - 23 128,8192 netgraph_btsocks_l2cap_raw 1 1K - 1 32 netgraph_btsocks_l2cap 1 1K - 1 32 netgraph_path 0 0K - 11 16 netgraph_sock 0 0K - 18 128
Okay, so no real out of memory condition but something else. I guess that resource limits can be ruled out since it doesn't work even as root. Maybe some kind of memory corruption. Hmmm... Your truss outpupt indicates that ncmpcpp is loading a lot of i18n / libiconv stuff right before the crash. My installation doesn't do that. Maybe should have a look at that. Can you send me the output of 'ldd -a /usr/local/bin/ncmpcpp' and 'locale'?
(In reply to yamagi from comment #7) Sure ;) root@logic:/home/apz # locale LANG= LC_CTYPE="C" LC_COLLATE="C" LC_TIME="C" LC_NUMERIC="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL= root@logic:/home/apz # ldd -a /usr/local/bin/ncmpcpp /usr/local/bin/ncmpcpp: libboost_filesystem.so.1.55.0 => /usr/local/lib/libboost_filesystem.so.1.55.0 (0x800a3b000) libboost_system.so.1.55.0 => /usr/local/lib/libboost_system.so.1.55.0 (0x800c51000) libboost_locale.so.1.55.0 => /usr/local/lib/libboost_locale.so.1.55.0 (0x800e54000) libboost_program_options.so.1.55.0 => /usr/local/lib/libboost_program_options.so.1.55.0 (0x801111000) libboost_regex.so.1.55.0 => /usr/local/lib/libboost_regex.so.1.55.0 (0x80137d000) libicuuc.so.55 => /usr/local/lib/libicuuc.so.55 (0x801689000) libicudata.so.55 => /usr/local/lib/libicudata.so.55 (0x801c00000) libboost_thread.so.1.55.0 => /usr/local/lib/libboost_thread.so.1.55.0 (0x803720000) libmpdclient.so.2 => /usr/local/lib/libmpdclient.so.2 (0x803939000) libreadline.so.6 => /usr/local/lib/libreadline.so.6 (0x803b50000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libncursesw.so.6 => /usr/local/lib/libncursesw.so.6 (0x803fc3000) libtinfow.so.6 => /usr/local/lib/libtinfow.so.6 (0x804209000) libfftw3.so.3 => /usr/local/lib/libfftw3.so.3 (0x80444c000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x8049f6000) libtag.so.1 => /usr/local/lib/libtag.so.1 (0x804cb1000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_filesystem.so.1.55.0: libboost_system.so.1.55.0 => /usr/local/lib/libboost_system.so.1.55.0 (0x800c51000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_system.so.1.55.0: libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_locale.so.1.55.0: libboost_thread.so.1.55.0 => /usr/local/lib/libboost_thread.so.1.55.0 (0x803720000) libboost_chrono.so.1.55.0 => /usr/local/lib/libboost_chrono.so.1.55.0 (0x805a59000) libboost_system.so.1.55.0 => /usr/local/lib/libboost_system.so.1.55.0 (0x800c51000) libicuuc.so.55 => /usr/local/lib/libicuuc.so.55 (0x801689000) libicui18n.so.55 => /usr/local/lib/libicui18n.so.55 (0x805e00000) libicudata.so.55 => /usr/local/lib/libicudata.so.55 (0x801c00000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_program_options.so.1.55.0: libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_regex.so.1.55.0: libicuuc.so.55 => /usr/local/lib/libicuuc.so.55 (0x801689000) libicui18n.so.55 => /usr/local/lib/libicui18n.so.55 (0x805e00000) libicudata.so.55 => /usr/local/lib/libicudata.so.55 (0x801c00000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libicuuc.so.55: libicudata.so.55 => /usr/local/lib/libicudata.so.55 (0x801c00000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libicudata.so.55: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_thread.so.1.55.0: libboost_system.so.1.55.0 => /usr/local/lib/libboost_system.so.1.55.0 (0x800c51000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libmpdclient.so.2: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libreadline.so.6: libncurses.so.8 => /lib/libncurses.so.8 (0x8062a3000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /lib/libthr.so.3: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libncursesw.so.6: libc.so.7 => /lib/libc.so.7 (0x8056a5000) libtinfow.so.6 => /usr/local/lib/libtinfow.so.6 (0x804209000) /usr/local/lib/libtinfow.so.6: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libfftw3.so.3: libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libm.so.5: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libcurl.so.4: libnghttp2.so.14 => /usr/local/lib/libnghttp2.so.14 (0x8064f7000) libidn.so.11 => /usr/local/lib/libidn.so.11 (0x80671c000) libssh2.so.1 => /usr/local/lib/libssh2.so.1 (0x806950000) libssl.so.8 => /usr/lib/libssl.so.8 (0x806b91000) libheimntlm.so.0 => /usr/local/lib/heimdal/libheimntlm.so.0 (0x806e00000) libhx509.so.5 => /usr/local/lib/heimdal/libhx509.so.5 (0x807007000) libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libasn1.so.8 => /usr/local/lib/heimdal/libasn1.so.8 (0x807a6b000) libwind.so.0 => /usr/local/lib/heimdal/libwind.so.0 (0x807d05000) libheimbase.so.1 => /usr/local/lib/heimdal/libheimbase.so.1 (0x807f2d000) libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libz.so.6 => /lib/libz.so.6 (0x808562000) libkrb5.so.26 => /usr/local/lib/heimdal/libkrb5.so.26 (0x808779000) libgssapi.so.3 => /usr/local/lib/heimdal/libgssapi.so.3 (0x8089fa000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libtag.so.1: libz.so.6 => /lib/libz.so.6 (0x808562000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libc++.so.1: libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) librt.so.1 => /usr/lib/librt.so.1 (0x808c34000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) /lib/libcxxrt.so.1: libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /lib/libgcc_s.so.1: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libboost_chrono.so.1.55.0: libboost_system.so.1.55.0 => /usr/local/lib/libboost_system.so.1.55.0 (0x800c51000) librt.so.1 => /usr/lib/librt.so.1 (0x808c34000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libicui18n.so.55: libicuuc.so.55 => /usr/local/lib/libicuuc.so.55 (0x801689000) libicudata.so.55 => /usr/local/lib/libicudata.so.55 (0x801c00000) libm.so.5 => /usr/local/lib/libm.so.5 (0x8047cc000) libc++.so.1 => /usr/local/lib/libc++.so.1 (0x804fbe000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x805279000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805497000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /lib/libncurses.so.8: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libnghttp2.so.14: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libidn.so.11: libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libssh2.so.1: libz.so.6 => /lib/libz.so.6 (0x808562000) libssl.so.8 => /usr/lib/libssl.so.8 (0x806b91000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/lib/libssl.so.8: libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libheimntlm.so.0: libkrb5.so.26 => /usr/local/lib/heimdal/libkrb5.so.26 (0x808779000) libheimbase.so.1 => /usr/local/lib/heimdal/libheimbase.so.1 (0x807f2d000) libhx509.so.5 => /usr/local/lib/heimdal/libhx509.so.5 (0x807007000) libasn1.so.8 => /usr/local/lib/heimdal/libasn1.so.8 (0x807a6b000) libwind.so.0 => /usr/local/lib/heimdal/libwind.so.0 (0x807d05000) libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x809043000) libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libhx509.so.5: libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libasn1.so.8 => /usr/local/lib/heimdal/libasn1.so.8 (0x807a6b000) libwind.so.0 => /usr/local/lib/heimdal/libwind.so.0 (0x807d05000) libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libcom_err.so.1: libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /lib/libcrypto.so.8: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libasn1.so.8: libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libwind.so.0: libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libheimbase.so.1: libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libroken.so.18: libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /lib/libcrypt.so.5: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /lib/libz.so.6: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libkrb5.so.26: libasn1.so.8 => /usr/local/lib/heimdal/libasn1.so.8 (0x807a6b000) libheimbase.so.1 => /usr/local/lib/heimdal/libheimbase.so.1 (0x807f2d000) libwind.so.0 => /usr/local/lib/heimdal/libwind.so.0 (0x807d05000) libhx509.so.5 => /usr/local/lib/heimdal/libhx509.so.5 (0x807007000) libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x809043000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/heimdal/libgssapi.so.3: libheimntlm.so.0 => /usr/local/lib/heimdal/libheimntlm.so.0 (0x806e00000) libkrb5.so.26 => /usr/local/lib/heimdal/libkrb5.so.26 (0x808779000) libheimbase.so.1 => /usr/local/lib/heimdal/libheimbase.so.1 (0x807f2d000) libhx509.so.5 => /usr/local/lib/heimdal/libhx509.so.5 (0x807007000) libasn1.so.8 => /usr/local/lib/heimdal/libasn1.so.8 (0x807a6b000) libwind.so.0 => /usr/local/lib/heimdal/libwind.so.0 (0x807d05000) libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x809043000) libcom_err.so.1 => /usr/local/lib/heimdal/libcom_err.so.1 (0x807251000) libroken.so.18 => /usr/local/lib/heimdal/libroken.so.18 (0x808131000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x808e39000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x807600000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x808343000) libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/lib/librt.so.1: libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libintl.so.8: libc.so.7 => /lib/libc.so.7 (0x8056a5000) /usr/local/lib/libsqlite3.so.0: libthr.so.3 => /lib/libthr.so.3 (0x803d9c000) libicui18n.so.55 => /usr/local/lib/libicui18n.so.55 (0x805e00000) libicuuc.so.55 => /usr/local/lib/libicuuc.so.55 (0x801689000) libicudata.so.55 => /usr/local/lib/libicudata.so.55 (0x801c00000) libc.so.7 => /lib/libc.so.7 (0x8056a5000) You're right - after going through the truss output more slowly, I could see that all libs were eventually found. There's definietly something wrong at the end: close(3) = 0 (0x0) access("/usr/local/lib/heimdal/libsqlite3.so.0",F_OK) ERR#2 'No such file or directory' access("/usr/local/lib/heimdal/libsqlite3.so.0",F_OK) ERR#2 'No such file or directory' access("/usr/lib/libsqlite3.so.0",F_OK) ERR#2 'No such file or directory' access("/lib/libsqlite3.so.0",F_OK) ERR#2 'No such file or directory' access("/usr/lib/libsqlite3.so.0",F_OK) ERR#2 'No such file or directory' access("/usr/lib/compat/libsqlite3.so.0",F_OK) ERR#2 'No such file or directory' access("/usr/local/lib/libsqlite3.so.0",F_OK) = 0 (0x0) openat(AT_FDCWD,"/usr/local/lib/libsqlite3.so.0",O_CLOEXEC|O_VERIFY,00) = 3 (0x3) fstat(3,{ mode=-rwxr-xr-x ,inode=4909793,size=838432,blksize=32768 }) = 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34368430080 (0x80084a000) mmap(0x0,2936832,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34511007744 (0x809043000) mmap(0x809043000,819200,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34511007744 (0x809043000) mmap(0x80930b000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0xc8000) = 34513924096 (0x80930b000) munmap(0x80084a000,4096) = 0 (0x0) close(3) = 0 (0x0) mmap(0x0,53248,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368471040 (0x800854000) munmap(0x80085d000,16384) = 0 (0x0) mmap(0x0,69632,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368507904 (0x80085d000) munmap(0x800867000,28672) = 0 (0x0) mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368548864 (0x800867000) munmap(0x80087c000,16384) = 0 (0x0) mmap(0x0,167936,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34368634880 (0x80087c000) sysarch(AMD64_SET_FSBASE,0x7fffffffe468) = 0 (0x0) sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0) readlink("/etc/malloc.conf",0x7fffffffdb60,1024) ERR#2 'No such file or directory' issetugid() = 0 (0x0) __sysctl(0x7fffffffd9d0,0x2,0x7fffffffda20,0x7fffffffda18,0x805804287,0xd) = 0 (0x0) __sysctl(0x7fffffffda20,0x2,0x7fffffffdae4,0x7fffffffdad8,0x0,0x0) = 0 (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34513944576 (0x809310000) munmap(0x809310000,2097152) = 0 (0x0) mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34513944576 (0x809310000) munmap(0x809310000,983040) = 0 (0x0) munmap(0x809600000,1110016) = 0 (0x0) sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0) sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0) sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0) __sysctl(0x7fffffffdfa0,0x2,0x803fc2cd0,0x7fffffffdfa8,0x0,0x0) = 0 (0x0) getrlimit(RLIMIT_STACK,{ cur=536870912,max=536870912 }) = 0 (0x0) __sysctl(0x7fffffffdea0,0x2,0x7fffffffdef0,0x7fffffffdee8,0x803db2d4c,0xd) = 0 (0x0) __sysctl(0x7fffffffdef0,0x3,0x803fc12f0,0x7fffffffdfa8,0x0,0x0) = 0 (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34517024768 (0x809600000) thr_self(0x809616000) = 0 (0x0) mmap(0x7fffdfffe000,4096,PROT_NONE,MAP_ANON,-1,0x0) = 140736951476224 (0x7fffdfffe000) rtprio_thread(0x0,0x18723,0x7fffffffdf78) = 0 (0x0) sysarch(AMD64_SET_FSBASE,0x7fffffffdf78) = 0 (0x0) sigaction(32,{ 0x803da9cd0 SA_SIGINFO ss_t },0x0) = 0 (0x0) sigprocmask(SIG_UNBLOCK,{ },0x0) = 0 (0x0) _umtx_op(0x7fffffffdf38,UMTX_OP_WAKE,0x1,0x0,0x0) = 0 (0x0) mprotect(0x0,0,PROT_NONE) = 0 (0x0) getpid() = 19439 (0x4bef) getpid() = 19439 (0x4bef) sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0) getcontext(0x7fffffffdb80) = 0 (0x0) sysarch(AMD64_GET_XFPUSTATE,0x7fffffffdb48) = 0 (0x0) openat(AT_FDCWD,"/dev/urandom",O_RDONLY,00) = 3 (0x3) read(3,"I\M-.b-",4) = 4 (0x4) close(3) = 0 (0x0) access("/etc/localtime",R_OK) = 0 (0x0) open("/etc/localtime",O_RDONLY,01130151330) = 3 (0x3) fstat(3,{ mode=-r--r--r-- ,inode=48715400,size=2679,blksize=32768 }) = 0 (0x0) read(3,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 2679 (0xa77) close(3) = 0 (0x0) issetugid() = 0 (0x0) open("/usr/share/zoneinfo/posixrules",O_RDONLY,00) = 3 (0x3) fstat(3,{ mode=-r--r--r-- ,inode=4006860,size=3519,blksize=32768 }) = 0 (0x0) read(3,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 3519 (0xdbf) close(3) = 0 (0x0) readlink("/etc/localtime",0x801a33f40,1024) ERR#22 'Invalid argument' open("/usr/share/zoneinfo/",O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,01130150170) = 3 (0x3) fstatfs(3,{ fstypename=ufs,mntonname=/,mntfromname=/dev/ada0p2,fsid=6f42855760bc1d09 }) = 0 (0x0) getdirentries(0x3,0x80964c000,0x1000,0x80961c328) = 440 (0x1b8) open("/usr/share/zoneinfo/Atlantic",O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,00) = 4 (0x4) fstatfs(4,{ fstypename=ufs,mntonname=/,mntfromname=/dev/ada0p2,fsid=6f42855760bc1d09 }) = 0 (0x0) close(4) = 0 (0x0) open("/usr/share/zoneinfo/Atlantic/",O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,020040100200) = 4 (0x4) fstatfs(4,{ fstypename=ufs,mntonname=/,mntfromname=/dev/ada0p2,fsid=6f42855760bc1d09 }) = 0 (0x0) getdirentries(0x4,0x80964d000,0x1000,0x80961c388) = 204 (0xcc) open("/usr/share/zoneinfo/Atlantic/Faroe",O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,00) ERR#20 'Not a directory' open("/etc/localtime",O_RDONLY,0666) = 5 (0x5) open("/usr/share/zoneinfo/Atlantic/Faroe",O_RDONLY,0666) = 6 (0x6) fstat(5,{ mode=-r--r--r-- ,inode=48715400,size=2679,blksize=32768 }) = 0 (0x0) fstat(5,{ mode=-r--r--r-- ,inode=48715400,size=2679,blksize=32768 }) = 0 (0x0) lseek(5,0x0,SEEK_CUR) = 0 (0x0) lseek(5,0x0,SEEK_SET) = 0 (0x0) read(5,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,32768) = 2679 (0xa77) fstat(6,{ mode=-r--r--r-- ,inode=4006687,size=1815,blksize=32768 }) = 0 (0x0) fstat(6,{ mode=-r--r--r-- ,inode=4006687,size=1815,blksize=32768 }) = 0 (0x0) lseek(6,0x0,SEEK_CUR) = 0 (0x0) lseek(6,0x0,SEEK_SET) = 0 (0x0) read(6,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,32768) = 1815 (0x717) close(6) = 0 (0x0) open("/usr/share/zoneinfo/Atlantic/Azores",O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,00) ERR#20 'Not a directory' open("/usr/share/zoneinfo/Atlantic/Azores",O_RDONLY,0666) = 6 (0x6) fstat(6,{ mode=-r--r--r-- ,inode=4006683,size=3462,blksize=32768 }) = 0 (0x0) fstat(6,{ mode=-r--r--r-- ,inode=4006683,size=3462,blksize=32768 }) = 0 (0x0) lseek(6,0x0,SEEK_CUR) = 0 (0x0) lseek(6,0x0,SEEK_SET) = 0 (0x0) read(6,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,32768) = 3462 (0xd86) close(6) = 0 (0x0) open("/usr/share/zoneinfo/Atlantic/Cape_Verde",O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,04310400000) ERR#20 'Not a directory' open("/usr/share/zoneinfo/Atlantic/Cape_Verde",O_RDONLY,0666) = 6 (0x6) fstat(6,{ mode=-r--r--r-- ,inode=4006686,size=240,blksize=32768 }) = 0 (0x0) fstat(6,{ mode=-r--r--r-- ,inode=4006686,size=240,blksize=32768 }) = 0 (0x0) lseek(6,0x0,SEEK_CUR) = 0 (0x0) lseek(6,0x0,SEEK_SET) = 0 (0x0)
Ok, I did setenv LANG, and ncmpcpp finally works. Thanks again for your interest and great help - I would probably stick to ncmpc until one day by chance I actually set the locale ;)
And just as I read your last reply I figured it out. The problem is somewhere in boost_locale.so (part of devel/boost-libs). When $LANG is empty or set to an invalid locale, boost::locale::generator() in line 32 of charset.cpp goes wrong. boost_locale is unable to find that empty locale and throws an exception that's catched somewhere inside boost. The exception leads to abort(), but a wrong error code. Therefor the missleading "cannot allocate memory" is printed by truss. I don't think that there's an easy way to hack around it. As a very dirty work around you could remove the call to internalLocale() in ncmpcpp.cpp line 94 and rebuild ncmpcpp: cd /usr/ports/audio/ncmpcpp make patch vi work/ncmpcpp-0.7.4/src/ncmpcpp.cpp -- Edit -- make deinstall reinstall clean That may break some unicode character conversions. And I think I'll open an upstream bug report tomorrow. Maybe the ncmpcpp developers can come up with a real solution.
I agree that it would be nice if this was handled somehow in the future versions, even if only with a runtime detection and accurate message.
I think this is fixed in version 0.7.5. I've just submitted an update as bug #211994.