rhiestan / Regard3D

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

Error compiling OpenMVG-1.4_r3d #32

Open luho30 opened 4 years ago

luho30 commented 4 years ago

Hello Regard3d-Team, If I try to compile the OpenMVG software from the regard3d repository, I obtain an Error:

_... [ 65%] 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::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): undefined reference tominilog::inst_' undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x6f): undefined reference to `minilog::inst' undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x7b): undefined reference to `minilog::inst' undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x8d): undefined reference to `minilog::inst' undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0x9f): undefined reference to `minilog::inst' CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/undistoBrown.cpp.o:undistoBrown.cpp:(.text._ZN18C_Progress_display7restartEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN18C_Progress_display7restartEmRKNSt7__cxx1112basic_stringIcSt11chartraitsIcESaIcEEE]+0xb7): more undefined references to `minilog::inst' follow collect2: error: ld returned 1 exit status openMVG_Samples/cameras_undisto_Brown/CMakeFiles/openMVG_sample_cameras_undistoBrown.dir/build.make:128: 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:2367: 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_camerasundistoBrown.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

I can compile the original version of openMVG without any problem. But I cannot use it to compile regard3d afterwards. I get then the error openMVG include files not found.

Can anyone help? I am using Kubuntu Linux. Regards Luis

pmoulon commented 4 years ago

Seems related to ceres and minilog. Can you try to disable the build of the OpenMVG sample so this way this binary will not be used by Regard3d

luho30 commented 4 years ago

Thanks a lot for your advice. Unfortunately OpenMVG from the Regard3d repository does not compile, with or without test samples included under Linux. I strictly followed the instructions and installed all prerequisites. If I use the original OpenMVG software Regard3d does not find the files either. Even if the build and install was successfull. Cmake gives the following error: _Make Error at /usr/local/openMVG_Build/OpenMVGConfig.cmake:42 (message): Failed to find OPENMVG - OpenMVG install root: /usr/local/openMVG_Build. Cannot find openMVG include files. Call Stack (most recent call first): /usr/local/openMVG_Build/OpenMVGConfig.cmake:74 (OPENMVG_REPORT_NOT_FOUND) CMakeLists.txt:485 (FIND_PACKAGE) CMake Error at CMakeLists.txt:486 (get_property): get_property could not find TARGET OpenMVG::OpenMVGsfm. Perhaps it has not yet been created. I have absolutly no clue what I need to modify at OpenMVG to get it compiled properly and what to do with the Regard3d source to find the OPenMVG directories. Any help is very much appreciated. Regards Luis

DeeDeeRanged commented 2 years ago

It seems you only need the OoenMVG libraries not the binaries what I have gathered from reading the various issues compiling on linux. To be honest I don't think the dev of regard3d is not interested at all to get it working on linux as it seems to work with wine. Otherwise he would have put more time into it. Even if he did only did a build howto for just one linux distro.