rhiestan / Regard3D

A open source structure-from-motion program based on OpenMVG.
240 stars 43 forks source link

Can Regard3D run in Linux? #3

Open HB-Yeah opened 7 years ago

HB-Yeah commented 7 years ago

For some reasons, I need a program like Regard3D to run on linux. Could you tell me what I need if I run it on linux?

rhiestan commented 7 years ago

Sorry for the late answer. Yes, it could run on Linux. However, you need to compile Regard3D and all third-party libraries yourself. You might be lucky to use the installed versions of the libraries, but sometimes Regard3D requires specific versions. Also the third-party tools (MVE, PMVS, PoissonRecon) should compile on Linux, but also there you are on your own. Good luck!

polarathene commented 7 years ago

@rhiestan I've tried to follow your compilation guide but I'm having trouble. On Manjaro I had ceres available in the AUR repo, but also during the build with the command you provided required another package assimp, after satisfying that I get this error:

CMake Error at CMakeLists.txt:457 (FIND_PACKAGE):
  By not providing "FindOpenMVG.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenMVG", but
  CMake did not find one.

  Could not find a package configuration file provided by "OpenMVG" with any
  of the following names:

    OpenMVGConfig.cmake
    openmvg-config.cmake

  Add the installation prefix of "OpenMVG" to CMAKE_PREFIX_PATH or set
  "OpenMVG_DIR" to a directory containing one of the above files.  If
  "OpenMVG" provides a separate development package or SDK, be sure it has
  been installed.

-- Configuring incomplete, errors occurred!

I've tried to provide the path to the openMVG directory as well as the sub directory with the cmake files but it doesn't seem to be happy. Any idea how to get this working?

I'm trying to build with the following:

mkdir build
cd build

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCERES_DIR=/usr/include/ceres/ -DOPENMVG_SRC_DIR=/storage/openMVG/src/ -DUSE_SSE2=TRUE ../src

I've tried adding -DOpenMVG_DIR=/storage/openMVG/src/cmakeFindModulesbefore -DUSE_SSE2=TRUE but it did not help with detection. There is a OpenMVGConfig.cmake.in file in the directory, removing the .in extension seems to make it happy but then that fails, seems like it expects openMVG to already be built, I'm not experienced with cmake and the rest of this build process.

rhiestan commented 7 years ago

I am sorry, I haven't compiled Regard3D on Linux for a while now, and I don't have time currently to do so. But in the most recent version OpenMVG is now used as a library, so you have to compile OpenMVG separately first. The guide is outdated, unfortunately. After installing, you will have a proper OpenMVGConfig.cmake. Please set -DOpenMVG_DIR=$installpath/share/openMVG/cmake afterwards.

polarathene commented 7 years ago

Built openMVG at /storage/openmvg_build with:

cmake -DCMAKE_BUILD_TYPE=RELEASE . ../openMVG/src/

Then tried at /storage/openMVG:

mkdir build
cd build

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCERES_DIR=/usr/include/ceres/ -DOpenMVG_DIR=/storage/openmvg_build/openMVG -DUSE_SSE2=TRUE ../src

Error:

CMake Error at /storage/openmvg_build/OpenMVGConfig.cmake:46 (MESSAGE):
  Failed to find OPENMVG - OpenMVG install root: /storage/openmvg_build.
  Cannot find openMVG include files.
Call Stack (most recent call first):
  /storage/openmvg_build/OpenMVGConfig.cmake:82 (OPENMVG_REPORT_NOT_FOUND)
  CMakeLists.txt:457 (FIND_PACKAGE)

-- Configuring incomplete, errors occurred!

I didn't see a share folder, there was openMVG directory though, no cmake directory but there was CMakeFiles directory as well as a cmake_install.cmake file.

Perhaps I've done something wrong, not sure if it's worth troubleshooting futher. Thanks for the help though :)

pmoulon commented 7 years ago

You must install openMVG. cmake -DCMAKE_BUILD_TYPE=RELEASE . ../openMVG/src/ make make install

Then you run your other project and cmake will find OpenMVG since it will be installed on your computer

polarathene commented 7 years ago

@pmoulon Hey thanks for that. I'm not too familiar with cmake/make, I appreciate it. I seem to have ran into an error still while running that command.

[ 80%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_cameras_undistoBrown
CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/undistoBrown.cpp.o: In function `C_Progress_display::inc_tic()':
undistoBrown.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x53): undefined reference to `minilog::inst_'
undistoBrown.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x63): undefined reference to `minilog::inst_'
undistoBrown.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x7e): undefined reference to `minilog::inst_'
undistoBrown.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x8e): undefined reference to `minilog::inst_'
undistoBrown.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x123): undefined reference to `minilog::inst_'
CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/undistoBrown.cpp.o:undistoBrown.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x1a1): more undefined references to `minilog::inst_' follow
collect2: error: ld returned 1 exit status
make[2]: *** [openMVG_Samples/cameras_undisto_Brown/CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/build.make:108: Linux-x86_64-RELEASE/openMVG_sample_cameras_undistoBrown] Error 1
make[1]: *** [CMakeFiles/Makefile2:3364: openMVG_Samples/cameras_undisto_Brown/CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/all] Error 2
make: *** [Makefile:128: all] Error 2

I'll try build without the examples, I think the build docs mentioned a flag to prevent that.

pmoulon commented 7 years ago

You can use -DOpenMVG_BUILD_EXAMPLES=OFF in the cmake command line

polarathene commented 7 years ago

@pmoulon Building without examples gives a similar error:

[ 84%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_main_ComputeStructureFromKnownPoses
CMakeFiles/openMVG_main_ComputeStructureFromKnownPoses.dir/main_ComputeStructureFromKnownPoses.cpp.o: In function `C_Progress_display::inc_tic()':
main_ComputeStructureFromKnownPoses.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x53): undefined reference to `minilog::inst_'
main_ComputeStructureFromKnownPoses.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x63): undefined reference to `minilog::inst_'
main_ComputeStructureFromKnownPoses.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x7e): undefined reference to `minilog::inst_'
main_ComputeStructureFromKnownPoses.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x8e): undefined reference to `minilog::inst_'
main_ComputeStructureFromKnownPoses.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x123): undefined reference to `minilog::inst_'
CMakeFiles/openMVG_main_ComputeStructureFromKnownPoses.dir/main_ComputeStructureFromKnownPoses.cpp.o:main_ComputeStructureFromKnownPoses.cpp:(.text._ZN18C_Progress_display7inc_ticEv[_ZN18C_Progress_display7inc_ticEv]+0x1a1): more undefined references to `minilog::inst_' follow
collect2: error: ld returned 1 exit status
make[2]: *** [software/SfM/CMakeFiles/openMVG_main_ComputeStructureFromKnownPoses.dir/build.make:116: Linux-x86_64-RELEASE/openMVG_main_ComputeStructureFromKnownPoses] Error 1
make[1]: *** [CMakeFiles/Makefile2:3438: software/SfM/CMakeFiles/openMVG_main_ComputeStructureFromKnownPoses.dir/all] Error 2
make: *** [Makefile:128: all] Error 2

I can't make much from that other than minilog which I didn't have much luck with google in understanding.

pmoulon commented 7 years ago

Seems like you have a problem with the stream here on your computer and I don't know why https://github.com/openMVG/openMVG/blob/master/src/third_party/progress/progress.hpp#L193

The thing is that miniglog is not used in this class. You can try to comment the logging in this function to see if it compiles.

rhiestan commented 7 years ago

Thanks @pmoulon for the support!

AndreKappert commented 6 years ago

undefined reference to `minilog::inst. A package minilog had to be installed! When i tried to install it, i had to install package "Npm" package manager for node.js. Then I found out that minilog is part of this package. (Linux Mint Software Manager or Ubuntu). After installing package Npm the error in cmake was gone. And a little later the same error returned?????????? with the make command.

rhiestan commented 6 years ago

Minilog is a class which I added myself to openMVG (only in "my" distribution). So I doubt there will be other packages using my class. However, you can't compile openMVG with its executables, you should compile it only as a library. My (incomplete) command line for compiling openMVG on Windows is: cmake -Wno-dev -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_DEBUG_POSTFIX="_d" -DOpenMVG_BUILD_SHARED=OFF -DOpenMVG_BUILD_TESTS=OFF -DOpenMVG_BUILD_DOC=OFF -DOpenMVG_BUILD_EXAMPLES=OFF -DOpenMVG_BUILD_SOFTWARES=OFF -DOpenMVG_BUILD_COVERAGE=OFF -DOpenMVG_USE_OPENMP=ON -DTARGET_ARCHITECTURE="generic" ... %SB_OPENMVG_PATH%/src

taniwha commented 6 years ago

If the dev needs to specify that many options, I suggest revisiting the config defaults. However, using a subset of that command line did the trick:

cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=OFF \
-DOpenMVG_BUILD_DOC=OFF -DOpenMVG_BUILD_EXAMPLES=OFF \
-DOpenMVG_BUILD_SOFTWARES=OFF -DOpenMVG_BUILD_COVERAGE=OFF \
-DOpenMVG_USE_OPENMP=ON . ../openMVG-1.2_r3d/src/
wangbing8895 commented 6 years ago

@polarathene I also have this problem.Do you solve this problem??

wangbing8895 commented 6 years ago

@polarathene my problem like this " undefined reference to `minilog::inst_'"

AndreKappert commented 6 years ago

I could compile the Openmvg part. Then with the regard3d part compiling I get errors. I tried other compilation options for openmvg, I got other errors with compiling regard3d. I couldn’t get it to work and stopped trying. I tried the program in windows and it has the best GUI of the programs I have tried for SFM(structure-from-motion). I normally use Linux Mint and not Windows so I searched for Linux versions. The strange thing is that all the SFM programs have compiled Windows versions and the Linux version had to be compiled by yourself (a new trend?). Some compilations were easy, some difficult for someone with little experience in compiling C. The best result with SFM I am getting with colmap. But it wasn’t easy. My computer with 16 Gb memory and 16 Gb Swap had not enough memory for the compilation of colmap, so I had to make my Swap 32 Gb. It took 3 or 4 hours to compile. It uses CUDA, so your computer had to have a NVIDIA GPU card. For using it with Linux, I had to work from the commandline (for the Dense reconstruction part, the first steps also works without problems from the GUI) with the x server stopped, because the x server otherwise will restart. In Windows the restart of the GPU had to be prevented with an option in the program Nsight from NVIDIA. So I must conclude that the SFM programs are still experimental and not easy to use.

miro-janosik commented 6 years ago

Hi, for your information - I was also curious if I can use Regard3D on linux as on multiple sites it notes that it supports linux (but there is no explanation that there are no binaries or repo and you have to compile it first).

After seeing that it has many dependencies and possible compile issues I decided to try it with wine emulator and it works quite fine! I have Ubuntu 17.10, now I am using latest "wine-2.21 (Staging)" and of course wine64 as it is 64-bit application with Regard3D_0.9.3_Setup.exe.

Just run setup as

"WINEPREFIX=~/.wine64 wine Regard3D_0.9.3_Setup.exe"

and binary then as:

cd .wine64/drive_c/Program\ Files/Regard3D/ WINEPREFIX=~/.wine64 wine Regard3D.exe

Visually it looks fine, some dropdown-boxes are smaller than should be but it is a minor problem. I will add information about the project to WineHQ (here it is: https://appdb.winehq.org/objectManager.php?sClass=version&iId=36074 )

rhiestan commented 6 years ago

@miro-janosik Thanks for sharing the information!

imanolooo commented 6 years ago

I guess I arrived further on this...

I followed the guide. I had to compile and install on my hand opencv and eigen libraries because ubuntu ones didn't work.

Then, I get stucked like people here. Then I compile and install OpenMVG using:

cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=OFF \
-DOpenMVG_BUILD_DOC=OFF -DOpenMVG_BUILD_EXAMPLES=OFF \
-DOpenMVG_BUILD_SOFTWARES=OFF -DOpenMVG_BUILD_COVERAGE=OFF \
-DOpenMVG_USE_OPENMP=ON . ../openMVG-1.2_r3d/src/

After that, I obtained an error in /thirdparty/sqlite.c caused by using -ffast-mode. I decided to remove that error from the code hoping no float are passed to this function as I readed in people who has had this problem with other software.

After that I get this error and I can't solve it:

[ 36%] Building CXX object CMakeFiles/Regard3D.dir/Regard3DMainFrame.cpp.o
In file included from /home/imanolooo/Baixades/Regard3D_src_0.9.3/src/Regard3DMainFrame.cpp:35:0:
/home/imanolooo/Baixades/Regard3D_src_0.9.3/src/utils/OpenMVGHelper.h:28:40: fatal error: software/SfM/SfMIOHelper.hpp: El fitxer o directori no existeix
 #include "software/SfM/SfMIOHelper.hpp"
                                        ^
compilation terminated.
CMakeFiles/Regard3D.dir/build.make:86: recipe for target 'CMakeFiles/Regard3D.dir/Regard3DMainFrame.cpp.o' failed
make[2]: *** [CMakeFiles/Regard3D.dir/Regard3DMainFrame.cpp.o] Error 1
CMakeFiles/Makefile2:73: recipe for target 'CMakeFiles/Regard3D.dir/all' failed
make[1]: *** [CMakeFiles/Regard3D.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

I tried these cmakes:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCERES_DIR=/usr/local -DOPENMVG_SRC_DIR=/home/imanolooo/Baixades/Regard3D_src_0.9.3/openMVG-1.2_r3d/src -DUSE_SSE2=TRUE ../src

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCERES_DIR=/usr/local -DOpenMVG_DIR=/usr/local/include/openMVG -DUSE_SSE2=TRUE ../src

but none of them work. I also copied directly the software folder from openmvg to here, but other problems appear...

So, if any has some intuition and can help. It would be great.

If we achieve it, I can help making the guide for ubuntu users.

Thanks!

rhiestan commented 6 years ago

Yes, there are some files from openMVG which Regard3D needs but are not copied when openMVG is installed with make install. Please copy these from the source directory of openMVG to the install folder: software/SfM/InterfaceMVS.h software/SfM/SfMIOHelper.hpp software/SfM/SfMPlyHelper.hpp software/SfMViewer/document.h

I might have missed one or two.

By the way, it would be great if somebody could create a release of Regard3D for a Linux distribution. As I understand, in Ubuntu this would be distributed with a PPA. If somebody has experience with this and wants to set it up, I would be glad to support it!

polarathene commented 6 years ago

By the way, it would be great if somebody could create a release of Regard3D for a Linux distribution.

I don't have experience packaging apps for distros myself, but it may be beneficial for anyone that does to release a FlatPak build instead/as well. Easier to distribute to other distros then :) Even add to some app stores like KDE Discover or Gnome software center.

I personally didn't have luck or time to keep trying to get this setup on my linux machine. Instead used the Arch Linux AUR package for colmap-git.

rhiestan commented 6 years ago

FlatPak is a very good idea. After some browsing, I think a better alternative would be AppImage. This seems to me very well supported.

polarathene commented 6 years ago

I think a better alternative would be AppImage. This seems to me very well supported.

Personally experience with them haven't been that great, Snap and Flatpak seem to be getting more push, especially Flatpak. The app stores for distros I don't think support AppImage?(I know that it's just download and run)

With Flatpak, there is a thing called portals that will give a more native feel of the app on the DE, like using the appropriate file picker dialog(eg Gnome or KDE). You should be able to get it setup with CI builds whenever you update this repo, then have the app stores(similar to package managers) acknowledge the update and provide it to users, whereas for AppImage, the user would have to check for a new release and download themselves like on Windows/macOS?

If you do go with AppImage, pay attention to how you package/link Qt. I am not sure of specifics but remember it looking quite foreign to the other apps because it had no theme applied, it would not use the one every other Qt app was using, this may prevent some DE integration and other benefits.

imanolooo commented 6 years ago

Hi,

Although I neither have experience packaging an application in linux, I think it would be great to create it.

However, first we need to success compiling it...

After the lack of files, I'm getting errors in the compilation. I compile like this:

imanolooo@imanolooo-PC:~/Baixades/Regard3D_src_0.9.3/build$ make install
[  4%] Built target kgraph
[ 12%] Built target daisy
[ 19%] Built target AKAZE
[ 26%] Built target fast-akaze
[ 29%] Built target liop
[ 32%] Built target tinyply
[ 35%] Built target sqlite
[ 36%] Building CXX object CMakeFiles/Regard3D.dir/Regard3DMainFrame.cpp.o

and I get the following errors:

/usr/local/include/openMVG/software/SfMViewer/document.h:33:20: error: ‘PinholeCamera’ was not declared in this scope
   std::map<size_t, PinholeCamera > _map_camera;
                    ^
/usr/local/include/openMVG/software/SfMViewer/document.h:33:34: error: template argument 2 is invalid
   std::map<size_t, PinholeCamera > _map_camera;
                                  ^
/usr/local/include/openMVG/software/SfMViewer/document.h:33:34: error: template argument 4 is invalid
/usr/local/include/openMVG/software/SfMViewer/document.h: In member function ‘bool Document::load(const string&)’:
/usr/local/include/openMVG/software/SfMViewer/document.h:112:13: error: ‘PinholeCamera’ was not declared in this scope
             PinholeCamera cam;
             ^
/usr/local/include/openMVG/software/SfMViewer/document.h:113:18: error: ‘load’ is not a member of ‘openMVG’
             if (!openMVG::load(stlplus::folder_append_separator(sDirectoryCam) 
                  ^
/usr/local/include/openMVG/software/SfMViewer/document.h:113:92: error: ‘cam’ was not declared in this scope
 openMVG::load(stlplus::folder_append_separator(sDirectoryCam) + sCamName, cam))
                                                                           ^
/usr/local/include/openMVG/software/SfMViewer/document.h:118:33: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
             _map_camera[camIndex] = cam;
                                 ^
/usr/local/include/openMVG/software/SfMViewer/document.h:118:37: error: ‘cam’ was not declared in this scope
             _map_camera[camIndex] = cam;
                                     ^
/usr/local/include/openMVG/software/SfMViewer/document.h:130:25: error: request for member ‘empty’ in ‘((Document*)this)->Document::_map_camera’, which is of non-class type ‘int’
     return !_map_camera.empty();
                         ^
CMakeFiles/Regard3D.dir/build.make:86: recipe for target 'CMakeFiles/Regard3D.dir/Regard3DMainFrame.cpp.o' failed
make[2]: *** [CMakeFiles/Regard3D.dir/Regard3DMainFrame.cpp.o] Error 1
CMakeFiles/Makefile2:73: recipe for target 'CMakeFiles/Regard3D.dir/all' failed
make[1]: *** [CMakeFiles/Regard3D.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Maybe someone familiar with the code can help.

Thanks!

niebert commented 6 years ago

Regard3D is really a great tool. The missing Linux binaries for Ubuntu, Mint, et.al. is missing to be a real multiplatform tool for wider audience of Linux users, that like to create 3D models of their environment but that will never compile a software on their own. PPA for would be highly appreciated.

levapz commented 6 years ago

Imanolooo, try to change in document.h on line 33 : std::map<size_t, PinholeCamera > _map_camera; to std::map<size_t, cameras::PinholeCamera > _map_camera; and line 112 same way.

imanolooo commented 6 years ago

Sorry for the late response,

I've tried the change that levapz suggested and it worked!

However, another error appeared: In file included from /home/imanolooo/Baixades/Regard3D_src_0.9.3/src/utils/OpenMVGHelper.h:29:0, from /home/imanolooo/Baixades/Regard3D_src_0.9.3/src/Regard3DMainFrame.cpp:35: /usr/local/include/openMVG/software/SfMViewer/document.h: In member function ‘bool Document::load(const string&)’: /usr/local/include/openMVG/software/SfMViewer/document.h:113:18: error: ‘load’ is not a member of ‘openMVG’ if (!openMVG::load(stlplus::folder_append_separator(sDirectoryCam)

Any idea?

Pickapart commented 5 years ago

Trying to compile on Gentoo amd64. I think it's a better way through Gentoo because the distro works with source file. But i have early a compilation error :

build # cmake ../
-- Checking for module 'flann>=1.7.0'
--   Found flann, version 1.9.1
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find FLANN (missing: FLANN_LIBRARY) (Required is at least version
  "1.7.0")
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindFLANN.cmake:54 (find_package_handle_standard_args)
  CMakeLists.txt:125 (FIND_PACKAGE)

-- Configuring incomplete, errors occurred!
See also "/root/Regard3D_src_0.9.5/src/build/CMakeFiles/CMakeOutput.log".
rhiestan commented 5 years ago

@Pickapart: You are apparently missing a dependency, FLANN. Either install it via package, or compile it yourself.

Pickapart commented 5 years ago

OK i change FindFLANN.cmake like this :

###############################################################################
# Find FLANN
#
# This sets the following variables:
# FLANN_FOUND - True if FLANN was found.
# FLANN_INCLUDE_DIRS - Directories containing the FLANN include files.
# FLANN_LIBRARIES - Libraries needed to use FLANN.
# FLANN_DEFINITIONS - Compiler flags for FLANN.
# If FLANN_USE_STATIC is specified and then look for static libraries ONLY else
# look for shared ones

find_package(PkgConfig)
pkg_check_modules(PC_FLANN flann)
set(FLANN_DEFINITIONS ${PC_FLANN_CFLAGS_OTHER})

find_path(FLANN_INCLUDE_DIR flann/flann.hpp
    HINTS ${PC_FLANN_INCLUDEDIR} ${PC_FLANN_INCLUDE_DIRS})

find_library(FLANN_LIBRARY flann
    HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS})

set(FLANN_INCLUDE_DIRS ${FLANN_INCLUDE_DIR})
set(FLANN_LIBRARIES ${FLANN_LIBRARY})

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Flann DEFAULT_MSG
    FLANN_LIBRARY FLANN_INCLUDE_DIR)

mark_as_advanced(FLANN_LIBRARY FLANN_INCLUDE_DIR)
garlac commented 5 years ago

Sorry for the late response,

I've tried the change that levapz suggested and it worked!

However, another error appeared: In file included from /home/imanolooo/Baixades/Regard3D_src_0.9.3/src/utils/OpenMVGHelper.h:29:0, from /home/imanolooo/Baixades/Regard3D_src_0.9.3/src/Regard3DMainFrame.cpp:35: /usr/local/include/openMVG/software/SfMViewer/document.h: In member function ‘bool Document::load(const string&)’: /usr/local/include/openMVG/software/SfMViewer/document.h:113:18: error: ‘load’ is not a member of ‘openMVG’ if (!openMVG::load(stlplus::folder_append_separator(sDirectoryCam)

Any idea?

Hi, I also came till this error. Were you able to solve this? Thank you.

imanolooo commented 5 years ago

Nope. I got stucked there. Do you?

garlac commented 5 years ago

No, even I could not figure out the problem... :(

GatoAmarilloBicolor commented 4 years ago

CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/undistoBrown.cpp.o: En la función C_Progress_display::restart(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x55): referencia aminilog::inst_' sin definir undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x6f): referencia a `minilog::inst' sin definir undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x7b): referencia a `minilog::inst' sin definir undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x8d): referencia a `minilog::inst' sin definir undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x9f): referencia a `minilog::inst' sin definir CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/undistoBrown.cpp.o:undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7__cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0xb7): más referencias a `minilog::inst' sin definir a continuación collect2: error: ld returned 1 exit status openMVG_Samples/cameras_undisto_Brown/CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/build.make:112: recipe for target 'Linux-x86_64-RELEASE/openMVG_sample_cameras_undistoBrown' failed make[2]: [Linux-x86_64-RELEASE/openMVG_sample_cameras_undistoBrown] Error 1 CMakeFiles/Makefile2:2436: recipe for target 'openMVG_Samples/cameras_undisto_Brown/CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/all' failed make[1]: [openMVG_Samples/cameras_undisto_Brown/CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

This error :3

geekley commented 3 years ago

So... any progress here? Has someone been able to compile on Linux? The official site links this PDF guide for building on Linux... has someone been able to make that work? If so, it'd be great to have a package for Ubuntu, regardless if it's Flatpak, Snap, AppImage, PPA or anything else. Is Wine the only option currently?

niebert commented 3 years ago

Maybe as a workaround for the Regard3D Linux-Version you might want to check the OpenSource software MeshRoom - see also Meshroom Youtube tutorial that might help you to do Photogrammetry with your standard camera and OpenSource software on linux.