Opened 4 years ago
Closed 4 years ago
#61908 closed defect (fixed)
opencv: @3.4.13: variant 'contrib' fails with link error, for module 'libopencv_sfm'
Reported by: | mascguy (Christopher Nielsen) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | opencv |
Description (last modified by mascguy (Christopher Nielsen))
I'm seeing similar errors with this contrib module for opencv4
v4.5.1. However, opencv
v3.4.12, as well as opencv4
v4.5.0 (I'm working on the latter), are both fine.
Some of the link errors appear to be related to Google GLog. I haven't tracked down the others yet.
As for workarounds, I tested with MacPorts clang-10, hoping it might be an issue with what's provided by Xcode. But that didn't help. I also verified that the configure
scripts are properly finding GLog, and they are.
These failures were seen on MacOS 10.13 and Xcode 10.1. However, builds succeed on 10.12, 10.14, and 10.15.
Details:
:info:build Undefined symbols for architecture x86_64: :info:build "fLI::FLAGS_v", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build "google::LogMessage::LogMessage(char const*, int)", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build "google::LogMessageFatal::LogMessageFatal(char const*, int)", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build "google::kLogSiteUninitialized", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double)::vlocal__ in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double)::vlocal__ in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double)::vlocal__ in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double)::vlocal__ in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double)::vlocal__ in libmultiview.a(robust_fundamental.cc.o) :info:build ... :info:build "google::InitVLOG3__(int**, int*, char const*, int)", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build "google::LogMessage::stream()", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build "google::LogMessageFatal::~LogMessageFatal()", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build "google::LogMessage::~LogMessage()", referenced from: :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::EightPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Model libmv::Estimate<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >(libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, libmv::MLEScorer<libmv::two_view::kernel::Kernel<libmv::two_view::kernel::NormalizedSolver<libmv::fundamental::kernel::SevenPointSolver, libmv::UnnormalizerT>, libmv::fundamental::kernel::SampsonError, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, libmv::vector<int, Eigen::aligned_allocator<int> >*, double*, double) in libmultiview.a(robust_fundamental.cc.o) :info:build ld: symbol(s) not found for architecture x86_64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) :info:build make[2]: *** [lib/libopencv_sfm.3.4.13.dylib] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_macports_sources_ports_enabled_graphics_opencv/opencv/work/build' :info:build make[1]: *** [modules/sfm/CMakeFiles/opencv_sfm.dir/all] Error 2
Attachments (1)
Change History (11)
Changed 4 years ago by mascguy (Christopher Nielsen)
Attachment: | opencv3-3.4.13-main-log-10.13.txt.gz added |
---|
comment:1 Changed 4 years ago by mascguy (Christopher Nielsen)
comment:2 Changed 4 years ago by mascguy (Christopher Nielsen)
Owner: | changed from Schamschula to mascguy |
---|
comment:3 Changed 4 years ago by mascguy (Christopher Nielsen)
Builds succeed on 10.12, 10.14, and 10.15. So it may be related to what contrib-related dependencies are -- and/or aren't -- installed. So I'll take this.
comment:4 Changed 4 years ago by mascguy (Christopher Nielsen)
Description: | modified (diff) |
---|
comment:5 Changed 4 years ago by mascguy (Christopher Nielsen)
Port: | opencv4 added |
---|
comment:6 Changed 4 years ago by mascguy (Christopher Nielsen)
Port: | opencv4 removed |
---|
comment:7 Changed 4 years ago by erikbs
I get the same error on 10.9 too; ver. 3.4.13, variants +avx2+contrib+eigen+python39+tbb
.
System/compiler info:
:debug:sysinfo OS X 10.9 (darwin/13.4.0) arch i386 :debug:sysinfo MacPorts 2.6.4 :debug:sysinfo Xcode 6.2 :debug:sysinfo SDK 10.9 ... :debug:clean Sourcing PortGroup clang_dependency 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/clang_dependency-1.0.tcl :debug:clean compiler clang 600.0.57 not blacklisted because it doesn't match {clang < 211.10.1}
Macports defaults to clang-mp-9.0, but I also tried clang-mp-10 without success.
Apparently the contrib module that fails to link is SFM (Structure From Motion). For some strange reason it find gflags, but not glog. Whatever the reason is, I managed to build it successfully by editing this file:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_opencv/opencv/work/build/modules/sfm/CMakeFiles/opencv_sfm.dir/link.txt
… where I added /opt/local/lib/libglog.0.4.0.dylib
right after libgflags.2.2.2.dylib
in the list of libraries to link against
When calling upgrade opencv
again, Macports picks up where it failed and finishes successfully.
I suspect that the error lies in either of these files:
work/opencv_contrib-3.4.13/modules/sfm/CMakeLists.txt
work/opencv_contrib-3.4.13/modules/sfm/cmake/FindGlog.cmake
Unfortunately I am not sure how to debug these, but it seems like find_package(Glog QUIET)
fails. In the first file I see this command:
set(LIBMV_LIGHT_LIBS correspondence multiview numeric ${GLOG_LIBRARIES} ${GFLAGS_LIBRARIES} )
Judging by the contents of link.txt
(full path above), which is:
/opt/local/bin/clang++-mp-10 -pipe -Os -DNDEBUG -isystem/opt/local/include -I/opt/local/include/LegacySupport -stdlib=libc++ -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Wformat -Werror=format-security -Wmissing-prototypes -Wstrict-prototypes -Winit-self -Wpointer-arith -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -Wno-long-long -Qunused-arguments -Wno-semicolon-before-method-body -ffunction-sections -fdata-sections -msse4.1 -mpopcnt -msse4.2 -mf16c -mfma -mavx2 -fvisibility=hidden -fvisibility-inlines-hidden -Wno-undef -Wno-shadow -Wno-sign-compare -Wno-missing-declarations -Wno-unused-parameter -Wno-unused-function -arch x86_64 -mmacosx-version-min=10.9 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -lMacportsLegacySupport -Wl,-dead_strip -compatibility_version 3.4.0 -current_version 3.4.13 -o ../../lib/libopencv_sfm.3.4.13.dylib -install_name @rpath/libopencv_sfm.3.4.dylib CMakeFiles/opencv_sfm.dir/src/conditioning.cpp.o CMakeFiles/opencv_sfm.dir/src/fundamental.cpp.o CMakeFiles/opencv_sfm.dir/src/io.cpp.o CMakeFiles/opencv_sfm.dir/src/numeric.cpp.o CMakeFiles/opencv_sfm.dir/src/projection.cpp.o CMakeFiles/opencv_sfm.dir/src/reconstruct.cpp.o CMakeFiles/opencv_sfm.dir/src/robust.cpp.o CMakeFiles/opencv_sfm.dir/src/simple_pipeline.cpp.o CMakeFiles/opencv_sfm.dir/src/triangulation.cpp.o -Wl,-rpath,/opt/local/lib ../../lib/libopencv_imgcodecs.3.4.13.dylib ../../lib/libopencv_xfeatures2d.3.4.13.dylib ../../lib/libcorrespondence.a ../../lib/libmultiview.a ../../lib/libnumeric.a /opt/local/lib/libgflags.2.2.2.dylib ../../lib/libopencv_ml.3.4.13.dylib ../../lib/libopencv_shape.3.4.13.dylib ../../lib/libopencv_video.3.4.13.dylib ../../lib/libopencv_calib3d.3.4.13.dylib ../../lib/libopencv_features2d.3.4.13.dylib ../../lib/libopencv_flann.3.4.13.dylib ../../lib/libopencv_imgproc.3.4.13.dylib ../../lib/libopencv_core.3.4.13.dylib
… GLOG_LIBRARIES
is not set, because the corresponding dylib is missing from the list (../../lib/libcorrespondence.a ../../lib/libmultiview.a ../../lib/libnumeric.a /opt/local/lib/libgflags.2.2.2.dylib
, which I guess is generated from LIBMV_LIGHT_LIBS
). libglog.0.4.0.dylib
should have been in there too, between libnumeric.a
and libgflags.2.2.2.dylib
.
comment:8 Changed 4 years ago by mascguy (Christopher Nielsen)
FYI, this issue is fixed with opencv/opencv3 3.4.14, and opencv4 4.5.2. Pull requests pending shortly.
comment:9 Changed 4 years ago by mascguy (Christopher Nielsen)
Pull requests created:
opencv3 update: https://github.com/macports/macports-ports/pull/10767
opencv4 update: https://github.com/macports/macports-ports/pull/10768
comment:10 Changed 4 years ago by Christopher Nielsen <mascguy@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Full log for 10.13 attached.