Package Details: openmvg-git 2.0.r32.gcbc5618b-1

Git Clone URL: https://aur.archlinux.org/openmvg-git.git (read-only, click to copy)
Package Base: openmvg-git
Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.
Upstream URL: http://imagine.enpc.fr/~moulonp/openMVG/
Licenses: MPL
Submitter: brookskd
Maintainer: brookskd (bartus)
Last Packager: bartus
Votes: 5
Popularity: 0.000000
First Submitted: 2016-05-01 04:29 (UTC)
Last Updated: 2022-05-19 10:08 (UTC)

Latest Comments

Asuranceturix commented on 2022-06-04 16:28 (UTC)

It looks like the cereal_131.patch is no longer needed, and in fact the build fails if left as it is now.

bartus commented on 2022-05-19 10:32 (UTC) (edited on 2022-05-19 10:33 (UTC) by bartus)

@bazza: fixed in 02ae7770b1c7

@ssaury: could you please check if the error is sys agnostic by building in clean chroot as I can't reproduce it.

https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot

bazza commented on 2022-05-18 14:25 (UTC) (edited on 2022-05-18 15:02 (UTC) by bazza)

/usr/bin/ld: no se puede encontrar -lcereal: No existe el fichero o el directorio
collect2: error: ld devolvió el estado de salida 1
make[2]: *** [openMVG/geometry/CMakeFiles/openMVG_geometry.dir/build.make:195: Linux-x86_64-RELEASE/libopenMVG_geometry.so.2.0] Error 1

ssaury commented on 2020-03-27 18:48 (UTC) (edited on 2020-03-27 18:55 (UTC) by ssaury)

No luck on building this.

Via Octopy on Manjaro I get the following error:
[ 65%] Building CXX object openMVG/sfm/CMakeFiles/openMVG_sfm.dir/sfm_report.cpp.o
[ 65%] Linking CXX shared library ../../Linux-x86_64-RELEASE/libopenMVG_sfm.so
make[2]: Leaving directory '/tmp/yaourt-tmp-sebastien/aur-openmvg-git/src/openmvg_build'
[ 65%] Built target openMVG_sfm
make[1]: Leaving directory '/tmp/yaourt-tmp-sebastien/aur-openmvg-git/src/openmvg_build'
make: *** [Makefile:147: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build openmvg-git.
==> Restart building openmvg-git ? [y/N]

If I try to build the sotware manually I get a different error:

Scanning dependencies of target openMVG_sample_image_undistort
make[2]: Leaving directory '/media/Data/Sources/openMVG_Build'
make[2]: Entering directory '/media/Data/Sources/openMVG_Build'
[ 74%] Building CXX object openMVG_Samples/image_undistort_gui/CMakeFiles/openMVG_sample_image_undistort.dir/openMVG_sample_image_undistort_autogen/mocs_compilation.cpp.o
[ 75%] Building CXX object openMVG_Samples/image_undistort_gui/CMakeFiles/openMVG_sample_image_undistort.dir/main.cc.o
[ 75%] Building CXX object openMVG_Samples/image_undistort_gui/CMakeFiles/openMVG_sample_image_undistort.dir/MainWindow.cc.o
[ 75%] Building CXX object openMVG_Samples/image_undistort_gui/CMakeFiles/openMVG_sample_image_undistort.dir/QImageInterface.cc.o
/media/Data/Sources/openMVG/src/openMVG_Samples/image_undistort_gui/QImageInterface.cc: In function ‘openMVG::image::Image<openMVG::image::Rgb<unsigned char> > image_undistort_gui::QImageToOpenMVGImage(const QImage&)’:
/media/Data/Sources/openMVG/src/openMVG_Samples/image_undistort_gui/QImageInterface.cc:68:53: warning: ‘int QImage::byteCount() const’ is deprecated: Use sizeInBytes [-Wdeprecated-declarations]
   68 |   std::copy( tmp.bits(), tmp.bits() + tmp.byteCount(), reinterpret_cast<unsigned char *>( res.data() ) );
      |                                                     ^
In file included from /usr/include/qt/QtGui/QImage:1,
                 from /media/Data/Sources/openMVG/src/openMVG_Samples/image_undistort_gui/QImageInterface.hh:15,
                 from /media/Data/Sources/openMVG/src/openMVG_Samples/image_undistort_gui/QImageInterface.cc:9:
/usr/include/qt/QtGui/qimage.h:221:44: note: declared here
  221 |     QT_DEPRECATED_X("Use sizeInBytes") int byteCount() const;
      |                                            ^~~~~~~~~
[ 75%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_image_undistort
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/main.cc.o: in function `image_undistort_gui::MainWindow::~MainWindow()':
main.cc:(.text._ZN19image_undistort_gui10MainWindowD2Ev[_ZN19image_undistort_gui10MainWindowD5Ev]+0xc): undefined reference to `vtable for image_undistort_gui::MainWindow'
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/main.cc.o: in function `non-virtual thunk to image_undistort_gui::MainWindow::~MainWindow()':
main.cc:(.text._ZN19image_undistort_gui10MainWindowD2Ev[_ZN19image_undistort_gui10MainWindowD5Ev]+0x8c): undefined reference to `vtable for image_undistort_gui::MainWindow'
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/main.cc.o: in function `image_undistort_gui::MainWindow::~MainWindow()':
main.cc:(.text._ZN19image_undistort_gui10MainWindowD0Ev[_ZN19image_undistort_gui10MainWindowD5Ev]+0xc): undefined reference to `vtable for image_undistort_gui::MainWindow'
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/main.cc.o: in function `non-virtual thunk to image_undistort_gui::MainWindow::~MainWindow()':
main.cc:(.text._ZN19image_undistort_gui10MainWindowD0Ev[_ZN19image_undistort_gui10MainWindowD5Ev]+0x83): undefined reference to `vtable for image_undistort_gui::MainWindow'
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/MainWindow.cc.o: in function `image_undistort_gui::MainWindow::MainWindow(QWidget*)':
MainWindow.cc:(.text+0x2ae7): undefined reference to `vtable for image_undistort_gui::MainWindow'
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/MainWindow.cc.o: in function `image_undistort_gui::MainWindow::onExportImage()':
MainWindow.cc:(.text+0x2c41): undefined reference to `image_undistort_gui::MainWindow::staticMetaObject'
/usr/bin/ld: CMakeFiles/openMVG_sample_image_undistort.dir/MainWindow.cc.o: in function `image_undistort_gui::MainWindow::onOpenImage()':
MainWindow.cc:(.text+0x2f53): undefined reference to `image_undistort_gui::MainWindow::staticMetaObject'
collect2: error: ld returned 1 exit status
make[2]: *** [openMVG_Samples/image_undistort_gui/CMakeFiles/openMVG_sample_image_undistort.dir/build.make:160: Linux-x86_64-RELEASE/openMVG_sample_image_undistort] Error 1
make[2]: Leaving directory '/media/Data/Sources/openMVG_Build'
make[1]: *** [CMakeFiles/Makefile2:3574: openMVG_Samples/image_undistort_gui/CMakeFiles/openMVG_sample_image_undistort.dir/all] Error 2
make[1]: Leaving directory '/media/Data/Sources/openMVG_Build'
make: *** [Makefile:147: all] Error 2

Is it also linked to the gcc version used? I have gcc version 9.3 and gcc8 installed.

wdna commented on 2018-05-12 13:57 (UTC) (edited on 2018-05-12 13:58 (UTC) by wdna)

@bartus that worked =) good catch on that gcc8 issue.

==> Finished making: openmvg-git 1.3.r78.g4f94981a-8

bartus commented on 2018-05-11 13:27 (UTC)

@wdna This is a gcc-8 hickup, just rolling back to gcc6 for now. Tell me if it's working now.

wdna commented on 2018-05-11 07:40 (UTC)

Hey, I'm getting the following error both on manual build and this package:

[ 67%] Building CXX object openMVG_Samples/multiview_robust_essential_ba/CMakeFiles/openMVG_sample_multiview_robustEssential_ba.dir/robust_essential_ba.cpp.o
In file included from /usr/include/c++/8.1.0/map:60,
                 from /usr/include/eigen3/Eigen/SparseCore:16,
                 from /var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/openMVG/numeric/eigen_alias_definition.hpp:18,
                 from /var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/openMVG/multiview/projection.hpp:32,
                 from /var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/openMVG/geometry/pose3.hpp:12,
                 from /var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/openMVG/cameras/Camera_Intrinsics.hpp:15,
                 from /var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/openMVG/sfm/sfm_data.hpp:14,
                 from /var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/software/SfM/main_evalQuality.cpp:9:
/usr/include/c++/8.1.0/bits/stl_tree.h: In instantiation of ‘class std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Eigen::Matrix<double, 3, 3> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Eigen::Matrix<double, 3, 3> > >, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, Eigen::Matrix<double, 3, 3> > > >’:
/usr/include/c++/8.1.0/bits/stl_map.h:151:17:   required from ‘class std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, 3, 3>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 3> > >’
/var/cache/pacman/pkg/openmvg-git19815/openmvg-git/src/openMVG/src/software/SfM/io_readGT.hpp:144:65:   required from here
/usr/include/c++/8.1.0/bits/stl_tree.h:452:21: error: static assertion failed: comparison object must be invocable with two arguments of key type
       static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [software/SfM/CMakeFiles/openMVG_main_evalQuality.dir/build.make:63: software/SfM/CMakeFiles/openMVG_main_evalQuality.dir/main_evalQuality.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3124: software/SfM/CMakeFiles/openMVG_main_evalQuality.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 67%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_main_ChangeLocalOrigin
[ 67%] Built target openMVG_main_ChangeLocalOrigin
[ 67%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_main_SfMInit_ImageListing
[ 67%] Built target openMVG_main_SfMInit_ImageListing
[ 67%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential
[ 67%] Built target openMVG_sample_multiview_robustEssential
[ 67%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_ba
[ 67%] Built target openMVG_sample_multiview_robustEssential_ba
[ 68%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_spherical
[ 68%] Built target openMVG_sample_multiview_robustEssential_spherical
make: *** [Makefile:130: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

What's missing here?

bartus commented on 2018-04-09 05:46 (UTC) (edited on 2018-04-09 08:23 (UTC) by bartus)

@nicolasvilla: ~No it shouldn't. The issue was related to openmvg FindFlann.cmake not utilizing flanns pkg-config script which exports libraries that needs to be linked alongside flann(external) (mainly flann_cpp,lz4, see /usr/lib/pkgconfig/flann.pc#Libs). Check CMakeCache.txt if lz4 flag is in openMVG_matching_LIB_DEPENDS variable (this is sourced from PC_FLANN_LIBRARIES:INTERNAL=flann;flann_cpp;lz4).~

Edit: find the issue in flann package, have it fixed on my os for a long time and forgot to report to the maintainer, I made some temporary changes till flann gets patched...

NicolasV commented on 2018-04-06 21:19 (UTC) (edited on 2018-04-06 22:03 (UTC) by NicolasV)

Hi. I still cannot compile OpenMVG on my machine. OpenMVG build is still using FLANN: 1.9.1 (external) Does it requires an additional patch regarding the undefined LZ4.... messages?

bartus commented on 2018-04-06 06:34 (UTC) (edited on 2018-04-06 06:37 (UTC) by bartus)

@Harvie: * lz4: problem lays in FindFlann.cmake {flann.patch} see this issue: https://github.com/openMVG/openMVG/issues/1265. I made a pull-req addressing this issue, think I can include it as a patch since pull-req gets through.

Harvie commented on 2018-04-04 12:38 (UTC)

Author of OpenMVE suggests us to use the internal version of FLANN. You can force to use the internal one by removing the flann from your depends array and remove the DFLANN_INCLUDE_DIR_HINTS.

https://github.com/openMVG/openMVG/issues/1272#issuecomment-378489529

Harvie commented on 2018-04-02 05:21 (UTC) (edited on 2018-04-02 05:33 (UTC) by Harvie)

Cmake says "** Build OpenCV+OpenMVG samples programs: OFF". Is it possibly reason, why openMVG/src/software/ isn't built? I've posted this question to upstream https://github.com/openMVG/openMVG/issues/1273

Harvie commented on 2018-04-01 02:49 (UTC)

Please build and include scripts from openMVG/src/software/ directory of git.

Especially these two are super important to build and include in package:

openMVG/src/software/SfM/SfM_GlobalPipeline.py.in openMVG/src/software/SfM/SfM_SequentialPipeline.py.in

Harvie commented on 2018-04-01 02:32 (UTC)

Had to add -llz4 to LDFLAGS in order to build.

Harvie commented on 2018-03-31 11:36 (UTC)

Can't build this

[ 59%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_main_features_repeatability_dataset ../../Linux-x86_64-RELEASE/libopenMVG_matching.so.1.3: undefined reference to LZ4_decompress_safe_continue' ../../Linux-x86_64-RELEASE/libopenMVG_matching.so.1.3: undefined reference toLZ4_decompress_safe' ../../Linux-x86_64-RELEASE/libopenMVG_matching.so.1.3: undefined reference to LZ4_compress_HC_continue' ../../Linux-x86_64-RELEASE/libopenMVG_matching.so.1.3: undefined reference toLZ4_resetStreamHC' ../../Linux-x86_64-RELEASE/libopenMVG_matching.so.1.3: undefined reference to `LZ4_setStreamDecode' collect2: error: ld returned 1 exit status

bartus commented on 2018-03-28 22:54 (UTC)

@brookskd: updated!

brookskd commented on 2018-03-28 13:07 (UTC)

@bartus: Thanks for fixing the build. I've made you a co-maintainer, would you have time to update the package?

I haven't been using this software lately so maybe it does not make sense for me to be the maintainer anymore.

bartus commented on 2018-03-28 09:00 (UTC) (edited on 2018-03-28 09:01 (UTC) by bartus)

@brookskd: Finally make it again:

First, switch to branch=develop_cmake (fixes issue with internal flann build)

Second, add those specific patches for missing/misplaced libs: fast-link-lib.pathc: https://pastebin.com/MTSFYqxW, lemon.patch: https://pastebin.com/PT9F8s8a.

Third: use flanns FindFlann.cmake instead: cp src/third_party/flann/cmake/FindFlann.cmake src/cmakeFindModules/ in prepare.

bartus commented on 2018-03-23 08:11 (UTC) (edited on 2018-03-23 18:58 (UTC) by bartus)

@brookskd: libopenMVG_sfm_link_error.patch already in upstream version, also you need sphinx for building doc now.

A new patch is required for CMakeLists.txt: https://pastebin.com/nJacnjrd

Also -DCERES_DIR_HINTS=/usr/share/Ceres should be -DCERES_DIR_HINTS=/usr/include/ceres and gflags need to be add to depends.

tlou commented on 2017-09-19 15:30 (UTC)

I got building error, which can be avoided by disabling "-DOpenMVG_BUILD_SHARED=ON". Is there some special meaning of this switch? [ 69%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_main_evalQuality /usr/bin/ld: CMakeFiles/openMVG_main_evalQuality.dir/main_evalQuality.cpp.o: undefined reference to symbol '_ZN7openMVG8geometry10Refine_RTSERKN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEES5_PdPNS2_IdLi3ELi1ELi0ELi3ELi1EEEPNS2_IdLi3ELi3ELi0ELi3ELi3EEE' /home/tlou/Downloads/openmvg-git/src/openmvg_build/Linux-x86_64-RELEASE/libopenMVG_geometry.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[2]: *** [software/SfM/CMakeFiles/openMVG_main_evalQuality.dir/build.make:100: Linux-x86_64-RELEASE/openMVG_main_evalQuality] Error 1 make[1]: *** [CMakeFiles/Makefile2:2916: software/SfM/CMakeFiles/openMVG_main_evalQuality.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 69%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_ba /usr/bin/ld: CMakeFiles/openMVG_sample_multiview_robustEssential_ba.dir/robust_essential_ba.cpp.o: undefined reference to symbol '_ZN7openMVG10P_From_KRtERKN5Eigen6MatrixIdLi3ELi3ELi0ELi3ELi3EEES4_RKNS1_IdLi3ELi1ELi0ELi3ELi1EEEPNS1_IdLi3ELi4ELi0ELi3ELi4EEE' /home/tlou/Downloads/openmvg-git/src/openmvg_build/Linux-x86_64-RELEASE/libopenMVG_multiview.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[2]: *** [openMVG_Samples/multiview_robust_essential_ba/CMakeFiles/openMVG_sample_multiview_robustEssential_ba.dir/build.make:107: Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_ba] Error 1 make[1]: *** [CMakeFiles/Makefile2:2105: openMVG_Samples/multiview_robust_essential_ba/CMakeFiles/openMVG_sample_multiview_robustEssential_ba.dir/all] Error 2 [ 70%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_spherical [ 70%] Built target openMVG_sample_multiview_robustEssential_spherical [ 70%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential [ 70%] Built target openMVG_sample_multiview_robustEssential make: *** [Makefile:130: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

brookskd commented on 2016-08-17 01:40 (UTC)

The conflict with ceres-solver should be fixed now, try again. The build was falling back to building ceres internally due because it needed the latest eigen package. It now builds against external Eigen and eigen is a make dependency. Thanks for reporting.

commented on 2016-08-15 22:27 (UTC)

Hi, /usr/lib/libceres.a is already present from the dependency ceres-solver. Please fix this, Thanks