Skip to content
This repository has been archived by the owner on Jun 17, 2021. It is now read-only.

Built target lib_clp make: *** [all] Error 2 image #5

Closed
Reavo opened this issue Sep 7, 2019 · 10 comments
Closed

Built target lib_clp make: *** [all] Error 2 image #5

Reavo opened this issue Sep 7, 2019 · 10 comments
Assignees

Comments

@Reavo
Copy link

Reavo commented Sep 7, 2019

When I ran the install com line
$ brew install ryanfb/alicevision/alicevision

/usr/bin/ranlib ../../../../../Darwin-x86_64/liblib_clp.a
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: ../../../../../Darwin-x86_64/liblib_clp.a(ClpCholeskyTaucs.cpp.o) has no symbols
[ 44%] Built target lib_clp
make: *** [all] Error 2

image

@ryanfb
Copy link
Owner

ryanfb commented Sep 9, 2019

Can you post the full output of ~/Library/Logs/Homebrew/alicevision/02.make? I believe the build is parallelized and the error is not in the last 15 lines output in the screenshot.

@FunWithFlaggs
Copy link

02.make.log
@ryanfb i have the same problem, here is my log.

guess this is the relevant part of it:
[ 23%] Linking CXX shared library ../../../Darwin-x86_64/libaliceVision_system.dylib cd /tmp/alicevision-20191010-75187-1qmdkxx/AliceVision-2.1.0/build/src/aliceVision/system && /usr/local/Cellar/cmake/3.15.4/bin/cmake -E cmake_link_script CMakeFiles/aliceVision_system.dir/link.txt --verbose=1 /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -I/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home/include/darwin -march=skylake -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mfma -mbmi2 -mavx2 -mno-sse4a -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -O3 -dynamiclib -Wl,-headerpad_max_install_names -compatibility_version 2.0.0 -current_version 2.1.0 -o ../../../Darwin-x86_64/libaliceVision_system.2.1.dylib -install_name @rpath/libaliceVision_system.2.dylib CMakeFiles/aliceVision_system.dir/cpu.cpp.o CMakeFiles/aliceVision_system.dir/MemoryInfo.cpp.o CMakeFiles/aliceVision_system.dir/Timer.cpp.o CMakeFiles/aliceVision_system.dir/Logger.cpp.o CMakeFiles/aliceVision_system.dir/nvtx.cpp.o /usr/local/lib/libboost_log.dylib /usr/local/lib/libboost_thread-mt.dylib /usr/local/lib/libboost_log_setup.dylib /usr/local/lib/libboost_system.dylib /usr/local/lib/libboost_date_time.dylib /usr/local/lib/libboost_program_options.dylib /usr/local/lib/libboost_log.dylib /usr/local/lib/libboost_thread-mt.dylib /usr/local/lib/libboost_date_time.dylib /usr/local/lib/libboost_atomic-mt.dylib /usr/local/lib/libboost_chrono.dylib /usr/local/lib/libboost_filesystem.dylib /usr/local/lib/libboost_regex.dylib Undefined symbols for architecture x86_64: "boost::log::v2_mt_posix::record_view::public_data::destroy(boost::log::v2_mt_posix::record_view::public_data const*)", referenced from: aliceVision::system::Logger::setLogLevel(aliceVision::system::EVerboseLevel) in Logger.cpp.o "boost::log::v2_mt_posix::attribute_name::get_id_from_string(char const*)", referenced from: aliceVision::system::Logger::Logger() in Logger.cpp.o aliceVision::system::Logger::setLogLevel(boost::log::v2_mt_posix::trivial::severity_level) in Logger.cpp.o "void boost::log::v2_mt_posix::aux::put_integer<char>(boost::log::v2_mt_posix::aux::basic_ostringstreambuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned int, unsigned int, char)", referenced from: boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_short_year(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_full_year(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_numeric_month(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o void boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_month_day<(char)48>(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o void boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_month_day<(char)32>(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_week_day(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o void boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_hours<(char)48>(boost::log::v2_mt_posix::aux::date_time_formatter<boost::log::v2_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&) in Logger.cpp.o ... "boost::log::v2_mt_posix::aux::this_thread::get_id()", referenced from: boost::log::v2_mt_posix::attributes::current_thread_id::impl::dispatch(boost::log::v2_mt_posix::type_dispatcher&) in Logger.cpp.o boost::log::v2_mt_posix::attributes::current_thread_id::impl::detach_from_thread() in Logger.cpp.o "boost::log::v2_mt_posix::aux::this_process::get_id()", referenced from: boost::log::v2_mt_posix::attributes::current_process_id::current_process_id() in Logger.cpp.o "boost::log::v2_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2_mt_posix::aux::stream_provider<char>::stream_compound*)", referenced from: boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::~record_pump() in Logger.cpp.o "boost::log::v2_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2_mt_posix::record&)", referenced from: aliceVision::system::Logger::setLogLevel(aliceVision::system::EVerboseLevel) in Logger.cpp.o "boost::log::v2_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long, std::__1::locale const&)", referenced from: boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >& boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::formatted_write<wchar_t>(wchar_t const*, long) in Logger.cpp.o void boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::aligned_write<wchar_t>(wchar_t const*, long) in Logger.cpp.o "boost::log::v2_mt_posix::aux::once_block_sentry::commit()", referenced from: boost::array<std::__1::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&> >() in Logger.cpp.o "boost::log::v2_mt_posix::aux::once_block_sentry::rollback()", referenced from: boost::array<std::__1::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&> >() in Logger.cpp.o "void boost::log::v2_mt_posix::aux::parse_date_time_format<char>(char const*, char const*, boost::log::v2_mt_posix::aux::date_time_format_parser_callback<char>&)", referenced from: boost::log::v2_mt_posix::expressions::aux::date_time_formatter_generator_traits_impl<boost::posix_time::ptime, char>::parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Logger.cpp.o "boost::log::v2_mt_posix::aux::default_attribute_names::process_id()", referenced from: boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o "boost::log::v2_mt_posix::aux::default_attribute_names::line_id()", referenced from: boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o "boost::log::v2_mt_posix::aux::default_attribute_names::message()", referenced from: aliceVision::system::Logger::Logger() in Logger.cpp.o boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::reset_formatter() in Logger.cpp.o boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::basic_formatting_sink_frontend(bool) in Logger.cpp.o "boost::log::v2_mt_posix::aux::default_attribute_names::thread_id()", referenced from: boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o "boost::log::v2_mt_posix::aux::default_attribute_names::timestamp()", referenced from: boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o "boost::log::v2_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2_mt_posix::attribute_name const&)", referenced from: boost::log::v2_mt_posix::visitation_result boost::log::v2_mt_posix::value_visitor_invoker<boost::mpl::vector2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, boost::log::v2_mt_posix::fallback_to_none>::operator()<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&> >(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&, boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&>) const in Logger.cpp.o boost::log::v2_mt_posix::visitation_result boost::log::v2_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2_mt_posix::fallback_to_none>::operator()<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::aux::light_function<void (boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&> >(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&, boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::aux::light_function<void (boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>) const in Logger.cpp.o boost::log::v2_mt_posix::value_extractor<boost::log::v2_mt_posix::trivial::severity_level, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::trivial::tag::severity>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const in Logger.cpp.o boost::log::v2_mt_posix::value_extractor<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::expressions::tag::smessage>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const in Logger.cpp.o "boost::log::v2_mt_posix::core::set_filter(boost::log::v2_mt_posix::filter const&)", referenced from: aliceVision::system::Logger::setLogLevel(boost::log::v2_mt_posix::trivial::severity_level) in Logger.cpp.o "boost::log::v2_mt_posix::core::open_record(boost::log::v2_mt_posix::attribute_set const&)", referenced from: boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_severity_logger<boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >, boost::log::v2_mt_posix::trivial::severity_level>::open_record_unlocked<boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> > >(boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> > const&) in Logger.cpp.o "boost::log::v2_mt_posix::core::push_record_move(boost::log::v2_mt_posix::record&)", referenced from: boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::~record_pump() in Logger.cpp.o "boost::log::v2_mt_posix::core::add_global_attribute(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute const&)", referenced from: boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o "boost::log::v2_mt_posix::core::get()", referenced from: aliceVision::system::Logger::Logger() in Logger.cpp.o boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o aliceVision::system::Logger::setLogLevel(boost::log::v2_mt_posix::trivial::severity_level) in Logger.cpp.o "boost::log::v2_mt_posix::core::add_sink(boost::shared_ptr<boost::log::v2_mt_posix::sinks::sink> const&)", referenced from: aliceVision::system::Logger::Logger() in Logger.cpp.o "boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::add_stream(boost::shared_ptr<std::__1::basic_ostream<char, std::__1::char_traits<char> > > const&)", referenced from: aliceVision::system::Logger::Logger() in Logger.cpp.o "boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::auto_flush(bool)", referenced from: aliceVision::system::Logger::Logger() in Logger.cpp.o "boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::flush()", referenced from: void boost::log::v2_mt_posix::sinks::basic_sink_frontend::flush_backend_impl<boost::recursive_mutex, boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::recursive_mutex&, boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>&, mpl_::bool_<true>) in Logger.cpp.o "boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::consume(boost::log::v2_mt_posix::record_view const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: void boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::recursive_mutex, boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::log::v2_mt_posix::record_view const&, boost::recursive_mutex&, boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>&) in Logger.cpp.o void boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::log::v2_mt_posix::aux::fake_mutex, boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::log::v2_mt_posix::record_view const&, boost::log::v2_mt_posix::aux::fake_mutex&, boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>&) in Logger.cpp.o "boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::basic_text_ostream_backend()", referenced from: boost::detail::sp_if_not_array<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> >::type boost::make_shared<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> >() in Logger.cpp.o "boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::~basic_text_ostream_backend()", referenced from: boost::detail::sp_counted_impl_pd<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>*, boost::detail::sp_ms_deleter<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> > >::~sp_counted_impl_pd() in Logger.cpp.o boost::detail::sp_counted_impl_pd<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>*, boost::detail::sp_ms_deleter<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> > >::~sp_counted_impl_pd() in Logger.cpp.o boost::detail::sp_counted_impl_pd<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>*, boost::detail::sp_ms_deleter<boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char> > >::dispose() in Logger.cpp.o "boost::log::v2_mt_posix::sources::aux::get_severity_level()", referenced from: boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_severity_logger<boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >, boost::log::v2_mt_posix::trivial::severity_level>::open_record_unlocked<boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> > >(boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> > const&) in Logger.cpp.o "boost::log::v2_mt_posix::trivial::logger::get()", referenced from: aliceVision::system::Logger::setLogLevel(aliceVision::system::EVerboseLevel) in Logger.cpp.o "char const* boost::log::v2_mt_posix::trivial::to_string<char>(boost::log::v2_mt_posix::trivial::severity_level)", referenced from: boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::to_log_fun<boost::log::v2_mt_posix::trivial::tag::severity>, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>::result_type boost::log::v2_mt_posix::aux::singular_ref<boost::log::v2_mt_posix::trivial::severity_level, boost::log::v2_mt_posix::trivial::tag::severity>::apply_visitor<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::to_log_fun<boost::log::v2_mt_posix::trivial::tag::severity>, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&> >(boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::to_log_fun<boost::log::v2_mt_posix::trivial::tag::severity>, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>) const in Logger.cpp.o "boost::log::v2_mt_posix::attribute::impl::operator delete(void*, unsigned long)", referenced from: boost::log::v2_mt_posix::attributes::counter<unsigned int>::impl::~impl() in Logger.cpp.o boost::log::v2_mt_posix::attributes::attribute_value_impl<unsigned int>::~attribute_value_impl() in Logger.cpp.o boost::log::v2_mt_posix::attributes::basic_clock<boost::log::v2_mt_posix::attributes::local_time_traits>::impl::~impl() in Logger.cpp.o boost::log::v2_mt_posix::attributes::basic_clock<boost::log::v2_mt_posix::attributes::local_time_traits>::impl::get_value() in Logger.cpp.o boost::log::v2_mt_posix::attributes::attribute_value_impl<boost::posix_time::ptime>::~attribute_value_impl() in Logger.cpp.o boost::log::v2_mt_posix::attributes::constant<boost::log::v2_mt_posix::aux::id<boost::log::v2_mt_posix::aux::process> >::impl::~impl() in Logger.cpp.o boost::log::v2_mt_posix::attributes::current_thread_id::impl::~impl() in Logger.cpp.o ... "boost::log::v2_mt_posix::attribute::impl::operator new(unsigned long)", referenced from: boost::log::v2_mt_posix::add_common_attributes() in Logger.cpp.o boost::log::v2_mt_posix::attributes::counter<unsigned int>::impl::get_value() in Logger.cpp.o boost::log::v2_mt_posix::attributes::basic_clock<boost::log::v2_mt_posix::attributes::local_time_traits>::impl::get_value() in Logger.cpp.o boost::log::v2_mt_posix::attributes::current_process_id::current_process_id() in Logger.cpp.o boost::log::v2_mt_posix::attributes::current_thread_id::impl::detach_from_thread() in Logger.cpp.o "boost::log::v2_mt_posix::attribute_value_set::end() const", referenced from: boost::log::v2_mt_posix::visitation_result boost::log::v2_mt_posix::value_visitor_invoker<boost::mpl::vector2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, boost::log::v2_mt_posix::fallback_to_none>::operator()<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&> >(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&, boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&>) const in Logger.cpp.o boost::log::v2_mt_posix::visitation_result boost::log::v2_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2_mt_posix::fallback_to_none>::operator()<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::aux::light_function<void (boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&> >(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&, boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::aux::light_function<void (boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>) const in Logger.cpp.o boost::log::v2_mt_posix::value_extractor<boost::log::v2_mt_posix::trivial::severity_level, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::trivial::tag::severity>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const in Logger.cpp.o boost::log::v2_mt_posix::value_extractor<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::expressions::tag::smessage>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const in Logger.cpp.o "boost::log::v2_mt_posix::attribute_value_set::find(boost::log::v2_mt_posix::attribute_name) const", referenced from: boost::log::v2_mt_posix::visitation_result boost::log::v2_mt_posix::value_visitor_invoker<boost::mpl::vector2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, boost::log::v2_mt_posix::fallback_to_none>::operator()<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&> >(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&, boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&>) const in Logger.cpp.o boost::log::v2_mt_posix::visitation_result boost::log::v2_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2_mt_posix::fallback_to_none>::operator()<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::aux::light_function<void (boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&> >(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&, boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::aux::light_function<void (boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>) const in Logger.cpp.o boost::log::v2_mt_posix::value_extractor<boost::log::v2_mt_posix::trivial::severity_level, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::trivial::tag::severity>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const in Logger.cpp.o boost::log::v2_mt_posix::value_extractor<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::expressions::tag::smessage>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const in Logger.cpp.o "boost::log::v2_mt_posix::aux::once_block_sentry::enter_once_block() const", referenced from: boost::array<std::__1::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2_mt_posix::binder1st<boost::log::v2_mt_posix::output_fun, boost::log::v2_mt_posix::expressions::aux::stream_ref<boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&> >() in Logger.cpp.o "boost::log::v2_mt_posix::core::get_logging_enabled() const", referenced from: boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_composite_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex>, boost::log::v2_mt_posix::sources::features<boost::log::v2_mt_posix::sources::severity<boost::log::v2_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> > >(boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> > const&) in Logger.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [Darwin-x86_64/libaliceVision_system.2.1.dylib] Error 1 make[1]: *** [src/aliceVision/system/CMakeFiles/aliceVision_system.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....

@ryanfb ryanfb self-assigned this Oct 12, 2019
@phbrbr
Copy link

phbrbr commented Oct 16, 2019

@ryanfb Hello. Same here. If you need more log just ask.

@FunWithFlaggs
Copy link

@ryanfb @phbrbr think i solved it by using an older Boost version that i already got installed using brew.
cmake -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT:PATHNAME=/usr/local/Cellar/boost/1.68.0_1 -DBoost_LIBRARY_DIRS:FILEPATH=/usr/local/Cellar/boost/1.68.0_1/lib ..

Now im stuck at an Alembic error, hope i get it solved too..

@FunWithFlaggs
Copy link

FunWithFlaggs commented Oct 16, 2019

Okay got AliceVision compiled and installed with OpenMP support, needed to disable Alembic:

cmake -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT:PATHNAME=/usr/local/Cellar/boost/1.68.0_1 -DBoost_LIBRARY_DIRS:FILEPATH=/usr/local/Cellar/boost/1.68.0_1/lib -DALICEVISION_USE_ALEMBIC:BOOL=OFF ..

then fix the OpenMP issue using the command from #6 .
then make and make install , then do again the fix from #6 and go into src and do doxygen and then run make install again.

This worked for me, now i need to get meshroom working.

EDIT: needed to download, compile and install Boost 1.68.0 rc1 (here) with:
./bootstrap.sh --with-python=python3 --with-icu=/usr/local/opt/icu4c
sudo ./b2 threading=multi runtime-link=shared install
and adjust the Boost paths in the cmake command to fix runtime issues regarding not found symbols.
Now i got an aliceVision internal problem which im going to submit an issue for now, not sure whats causing that and if its related to all of this.

EDIT2: Alembic is needed for Meshroom to work, i got it working using the version from your brew installation. The cmake command for AliceVision now looks like this:
cmake -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT:PATHNAME=/tmp/boost -DBoost_LIBRARY_DIRS:FILEPATH=/tmp/boost/lib -DAlembic_DIR:PATH=/usr/local/Cellar/alembic/1.7.8/lib/cmake/Alembic/ ..

im running a test with Meshroom but so far it does look good.

@phbrbr
Copy link

phbrbr commented Oct 17, 2019

@FunWithFlaggs Yes! 👍 Following your progress since a few hours and testing alongside, you’re on a track. I also did compile boost_1_68_0 (it was version 1.71 in homebrew) and the error now appears later (see below).

I’ve 2 questions concerning your second edit:

i got it working using the version from your brew installation

How did you do that? I managed to install everything last April thanks to @ryanfb’s blog post and homebrew but compiling things is way harder. 😅 I hope to get meshroom back on macOS soon.

'/tmp/' is quite unusual for a lib, is it useless after compilation?

[ 71%] Linking CXX shared library ../../../Darwin-x86_64/libaliceVision_sfmDataIO.dylib
cd /tmp/alicevision-20191017-31888-w8w2sz/AliceVision-2.1.0/build/src/aliceVision/sfmDataIO && /usr/local/Cellar/cmake/3.15.4/bin/cmake -E cmake_link_script CMakeFiles/aliceVision_sfmDataIO.dir/link.txt --verbose=1
/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -I/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/include/darwin -march=skylake -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mfma -mbmi2 -mavx2 -mno-sse4a -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -O3 -dynamiclib -Wl,-headerpad_max_install_names -compatibility_version 2.0.0 -current_version 2.1.0 -o ../../../Darwin-x86_64/libaliceVision_sfmDataIO.2.1.dylib -install_name @rpath/libaliceVision_sfmDataIO.2.dylib CMakeFiles/aliceVision_sfmDataIO.dir/sfmDataIO.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/bafIO.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/gtIO.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/jsonIO.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/plyIO.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/viewIO.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/AlembicExporter.cpp.o CMakeFiles/aliceVision_sfmDataIO.dir/AlembicImporter.cpp.o -Wl,-rpath,/tmp/alicevision-20191017-31888-w8w2sz/AliceVision-2.1.0/build/Darwin-x86_64 ../../../Darwin-x86_64/libaliceVision_sfmData.2.1.dylib /usr/local/lib/libboost_filesystem.dylib /usr/local/lib/libboost_regex.dylib /usr/local/lib/libAlembic.1.7.8.dylib ../../../Darwin-x86_64/libaliceVision_multiview.2.1.dylib ../../../Darwin-x86_64/libaliceVision_geometry.2.1.dylib ../../../Darwin-x86_64/liblib_clp.a ../../../Darwin-x86_64/liblib_OsiClpSolver.a ../../../Darwin-x86_64/liblib_CoinUtils.a ../../../Darwin-x86_64/liblib_Osi.a /usr/local/lib/libceres.1.14.0.dylib /usr/local/lib/libglog.dylib /usr/local/lib/libgflags.2.2.2.dylib /usr/local/lib/libspqr.dylib /usr/local/lib/libcholmod.dylib /usr/local/lib/libccolamd.dylib /usr/local/lib/libcamd.dylib /usr/local/lib/libcolamd.dylib /usr/local/lib/libamd.dylib /usr/local/opt/openblas/lib/libopenblas.dylib /usr/local/lib/libsuitesparseconfig.dylib /usr/local/lib/libmetis.dylib ../../../Darwin-x86_64/libaliceVision_matching.2.1.dylib ../../../Darwin-x86_64/libaliceVision_feature.2.1.dylib ../../../Darwin-x86_64/libaliceVision_image.2.1.dylib ../../../Darwin-x86_64/libaliceVision_system.2.1.dylib /usr/local/lib/libboost_log.dylib /usr/local/lib/libboost_thread.dylib /usr/local/lib/libboost_log_setup.dylib /usr/local/lib/libboost_system.dylib /usr/local/lib/libboost_date_time.dylib /usr/local/lib/libboost_program_options.dylib ../../../Darwin-x86_64/libaliceVision_numeric.2.1.dylib /usr/local/lib/libOpenImageIO.dylib -ldl ../../../Darwin-x86_64/libaliceVision_gpu.2.1.dylib ../../../Darwin-x86_64/libvlsift.a /usr/local/lib/libboost_container.dylib /usr/local/lib/libImath.dylib /usr/local/lib/libIlmThread.dylib /usr/local/lib/libIex.dylib /usr/local/lib/libIexMath.dylib /usr/local/lib/libHalf.dylib -lm 
Undefined symbols for architecture x86_64:
  "Alembic::AbcGeom::v10::XformSample::setMatrix(Imath_2_3::Matrix44<double> const&)", referenced from:
      aliceVision::sfmDataIO::AlembicExporter::DataImpl::addCamera(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, aliceVision::sfmData::View const&, aliceVision::sfmData::CameraPose const*, aliceVision::camera::IntrinsicBase const*, Eigen::Matrix<double, 6, 1, 0, 6, 1> const*, Alembic::Abc::v10::OObject*) in AlembicExporter.cpp.o
      aliceVision::sfmDataIO::AlembicExporter::addSfMCameraRig(aliceVision::sfmData::SfMData const&, unsigned int, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> > const&) in AlembicExporter.cpp.o
      aliceVision::sfmDataIO::AlembicExporter::addCameraKeyframe(aliceVision::geometry::Pose3 const&, aliceVision::camera::Pinhole const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, unsigned int, float) in AlembicExporter.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Darwin-x86_64/libaliceVision_sfmDataIO.2.1.dylib] Error 1
make[1]: *** [src/aliceVision/sfmDataIO/CMakeFiles/aliceVision_sfmDataIO.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

@FunWithFlaggs
Copy link

FunWithFlaggs commented Oct 17, 2019

Thats the Alembic error i had too, solved it by passing -DAlembic_DIR:PATH=/usr/local/Cellar/alembic/1.7.8/lib/cmake/Alembic/ to the cmake command used for AliceVision.

Meshroom is now working for me, the test succeeded :)
Only problem is that i cant view the resulting mesh in Meshroom, but i can use it in Blender (got the .obj file)

brew info alembic
ryanfb/alicevision/alembic: stable 1.7.8 Open computer graphics interchange framework http://alembic.io/ /usr/local/Cellar/alembic/1.7.8 (143 files, 4.2MB) Built from source on 2019-10-10 at 11:11:47 From: https://github.com/ryanfb/homebrew-alicevision/blob/master/Formula/alembic.rb ==> Dependencies Build: cmake ✔ Required: hdf5 ✔, ilmbase ✔

Thats the Alembic version i pass to AliceVision.

i used /tmp/ just to test things, its maybe not the best place to do ;)
make install puts it in /usr/local/lib/ tho.

Hope you get it compiled too @phbrbr !

@phbrbr
Copy link

phbrbr commented Oct 19, 2019

@FunWithFlaggs @ryanfb AliceVision COMPILES 🎉 (from source but it could help this project) !!!
With macOS 10.13.6 / Xcode 10.1 Apple LLVM version 10.0.0 (clang-1000.11.45.5) / Cuda compilation tools, release 10.1, V10.1.105

I installed AliceVision dependencies with homebrew
brew install ceres-solver flann eigen openexr openimageio libomp

except for Boost 1.68.0 rc1 mentioned here

and Alembic 1.7.11 (don’t forget brew uninstall alembic )

git clone https://github.com/alembic/alembic
cd alembic; mkdir build; cd build
cmake ../ -DALEMBIC_ILMBASE_LINK_STATIC=ON -DUSE_STATIC_HDF5=ON ..
make -j
make install

and then (pay attention to adjust alembic path for your install)

git clone https://github.com/alicevision/AliceVision.git --recursive
cd AliceVision && mkdir build && cd build

export EIGEN_ROOT_DIR=/usr/local/Cellar/eigen/3.3.7/

cmake \
-DAlembic_DIR:PATH=/path/to/alembic/build/lib/Alembic \
-DCeres_DIR:PATH=/usr/local/Cellar/ceres-solver/1.14.0_8/lib/cmake/Ceres/ \
-DFLANN_INCLUDE_DIR_HINTS:PATH=/usr/local/Cellar/flann/1.9.1_7/include/ \
-DCMAKE_MODULE_PATH:PATH=/usr/local/Cellar/eigen/3.3.7/share/cmake/Modules/ \
-DOPENEXR_HOME:PATH=/usr/local/Cellar/openexr/2.3.0/ \
-DOPENIMAGEIO_LIBRARY_DIR_HINTS:PATH=/usr/local/Cellar/openimageio/2.0.11/lib/ \
-DOPENIMAGEIO_INCLUDE_DIR:PATH=/usr/local/Cellar/openimageio/2.0.11/include/ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc \-DCMAKE_CXX_COMPILER=g++ \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -lomp -L'$(brew --prefix libomp)/lib' -I'$(brew --prefix libomp)/include'" \
-DOpenMP_CXX_LIB_NAMES="omp" \
-DOpenMP_omp_LIBRARY=$(brew --prefix libomp)/lib/libomp.a \
..

make
cd src && doxygen
cd .. && make install

Thank you both 🍻

@ryanfb
Copy link
Owner

ryanfb commented Oct 22, 2019

Glad to hear you got it working! Apologies for the delay in investigating/updating this - this a little compounded by the fact that the one machine I have which has CUDA + nVidia + MacOS 10.13 to be able to test on died before the weekend and I'm currently hoping a Time Machine restore fixes it...

ryanfb added a commit that referenced this issue Nov 6, 2019
@ryanfb
Copy link
Owner

ryanfb commented Nov 6, 2019

I've upgraded the Alembic formula to 1.7.11 and added the compile flags suggested by @phbrbr. And after an incredibly deep dive, I found a clean way to resolve the boost errors for AliceVision which were the ultimate source of the problem in this issue: Homebrew Boost 1.71 installs both multithreaded and single threaded Boost libraries, and CMake gets confused by this, and this is what causes the linking errors. By passing Boost_NO_BOOST_CMAKE=ON to CMake we can get around the issue for now (see: https://stackoverflow.com/a/58085634).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants