stephanecharette/DarkMark

Error in build

Fackym opened this issue · 4 comments

I'm installing darkmark and this appears:
I'm on Ubuntu 21.10 VM

[ 14%] Building CXX object src-juce/CMakeFiles/dm_juce.dir/__/JuceLibraryCode/include_juce_gui_extra.cpp.o
[ 17%] Linking CXX static library libdm_juce.a
[ 17%] Built target dm_juce
Scanning dependencies of target dm_tools
[ 19%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/AboutWnd.cpp.o
[ 21%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Bitmaps.cpp.o
[ 23%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Cfg.cpp.o
[ 25%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/CrosshairComponent.cpp.o
[ 27%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Log.cpp.o
[ 29%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Mark.cpp.o
/home/user/src/DarkMark/src-tools/Mark.cpp: In member function ‘dm::Mark& dm::Mark::rebalance()’:
/home/user/src/DarkMark/src-tools/Mark.cpp:296:25: error: loop variable ‘iter’ creates a copy from type ‘const std::pair<const dm::ECorner, cv::Point_ >’ [-Werror=range-loop-construct]
296 | for (const auto iter : bounding_rect_points)
/home/user/src/DarkMark/src-tools/Mark.cpp:296:25: note: use reference type to prevent copying
296 | for (const auto iter : bounding_rect_points)
cc1plus: all warnings being treated as errors
make[2]: *** [src-tools/CMakeFiles/dm_tools.dir/build.make:147: src-tools/CMakeFiles/dm_tools.dir/Mark.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:308: src-tools/CMakeFiles/dm_tools.dir/all] Error 2
make: *** [Makefile:171: all] Error 2

What OS and version are you using? Nevermind, just saw you're on 21.10. I haven't installed that new version yet.

As a workaround for now, remove the -Werror flag so warnings aren't considered the same as errors. See this line: https://github.com/stephanecharette/DarkMark/blob/master/CM_source.cmake#L21

Here is the output if you want to check, thanks
Building ver: 1.5.36-1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/src/DarkMark/build
[ 17%] Built target dm_juce
[ 19%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/AboutWnd.cpp.o
[ 21%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Bitmaps.cpp.o
[ 23%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Cfg.cpp.o
[ 25%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/CrosshairComponent.cpp.o
[ 27%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Log.cpp.o
[ 29%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Mark.cpp.o
/home/user/src/DarkMark/src-tools/Mark.cpp: In member function ‘dm::Mark& dm::Mark::rebalance()’:
/home/user/src/DarkMark/src-tools/Mark.cpp:296:25: warning: loop variable ‘iter’ creates a copy from type ‘const std::pair<const dm::ECorner, cv::Point_<double> >’ [-Wrange-loop-construct]
296 |         for (const auto iter : bounding_rect_points)
    |                         ^~~~
/home/user/src/DarkMark/src-tools/Mark.cpp:296:25: note: use reference type to prevent copying
296 |         for (const auto iter : bounding_rect_points)
    |                         ^~~~
    |                         &
[ 31%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Notebook.cpp.o
[ 34%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/ProjectInfo.cpp.o
[ 36%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Text.cpp.o
[ 38%] Building CXX object src-tools/CMakeFiles/dm_tools.dir/Tools.cpp.o
[ 38%] Built target dm_tools
[ 40%] Building CXX object src-darknet/CMakeFiles/dm_darknet.dir/CfgHandler.cpp.o
[ 42%] Building CXX object src-darknet/CMakeFiles/dm_darknet.dir/DarknetImages.cpp.o
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp: In member function ‘void dm::DarknetWnd::resize_images(juce::ThreadWithProgressWindow&, const VStr&, dm::VStr&, size_t&, size_t&, size_t&, size_t&)’:
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:94:25: warning: loop variable ‘original_image’ creates a copy from type ‘const std::__cxx11::basic_string<char>’ [-Wrange-loop-construct]
 94 |         for (const auto original_image : annotated_images)
    |                         ^~~~~~~~~~~~~~
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:94:25: note: use reference type to prevent copying
 94 |         for (const auto original_image : annotated_images)
    |                         ^~~~~~~~~~~~~~
    |                         &
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp: In member function ‘void dm::DarknetWnd::tile_images(juce::ThreadWithProgressWindow&, const VStr&, dm::VStr&, size_t&, size_t&, size_t&)’:
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:180:25: warning: loop variable ‘original_image’ creates a copy from type ‘const std::__cxx11::basic_string<char>’ [-Wrange-loop-construct]
180 |         for (const auto original_image : annotated_images)
    |                         ^~~~~~~~~~~~~~
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:180:25: note: use reference type to prevent copying
180 |         for (const auto original_image : annotated_images)
    |                         ^~~~~~~~~~~~~~
    |                         &
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp: In member function ‘void dm::DarknetWnd::random_zoom_images(juce::ThreadWithProgressWindow&, const VStr&, dm::VStr&, size_t&, size_t&, size_t&)’:
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:386:25: warning: loop variable ‘original_image’ creates a copy from type ‘const std::__cxx11::basic_string<char>’ [-Wrange-loop-construct]
386 |         for (const auto original_image : annotated_images)
    |                         ^~~~~~~~~~~~~~
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:386:25: note: use reference type to prevent copying
386 |         for (const auto original_image : annotated_images)
    |                         ^~~~~~~~~~~~~~
    |                         &
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:411:46: warning: loop variable ‘p’ creates a copy from type ‘const Point’ {aka ‘const cv::Point_<int>’} [-Wrange-loop-construct]
411 |                         for (const cv::Point p :
    |                                              ^
/home/user/src/DarkMark/src-darknet/DarknetImages.cpp:411:46: note: use reference type to prevent copying
411 |                         for (const cv::Point p :
    |                                              ^
    |                                              &
[ 44%] Building CXX object src-darknet/CMakeFiles/dm_darknet.dir/DarknetWnd.cpp.o
[ 46%] Building CXX object src-darknet/CMakeFiles/dm_darknet.dir/WndCfgTemplates.cpp.o
/home/user/src/DarkMark/src-darknet/WndCfgTemplates.cpp: In member function ‘virtual void dm::WndCfgTemplates::run()’:
/home/user/src/DarkMark/src-darknet/WndCfgTemplates.cpp:260:33: warning: loop variable ‘line’ creates a copy from type ‘const juce::String’ [-Wrange-loop-construct]
260 |                 for (const auto line : lines)
    |                                 ^~~~
/home/user/src/DarkMark/src-darknet/WndCfgTemplates.cpp:260:33: note: use reference type to prevent copying
260 |                 for (const auto line : lines)
    |                                 ^~~~
    |                                 &
[ 48%] Building CXX object src-darknet/CMakeFiles/dm_darknet.dir/yolo_anchors.cpp.o
[ 48%] Built target dm_darknet
[ 51%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMCanvas.cpp.o
[ 53%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContent.cpp.o
[ 55%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentDeleteRotateAndFlipImages.cpp.o
/home/user/src/DarkMark/src-darkmark/DMContentDeleteRotateAndFlipImages.cpp: In member function ‘virtual void dm::DMContentDeleteRotateAndFlipImages::run()’:
/home/user/src/DarkMark/src-darkmark/DMContentDeleteRotateAndFlipImages.cpp:40:25: warning: loop variable ‘fn’ creates a copy from type ‘const std::__cxx11::basic_string<char>’ [-Wrange-loop-construct]
 40 |         for (const auto fn : content.image_filenames)
    |                         ^~
/home/user/src/DarkMark/src-darkmark/DMContentDeleteRotateAndFlipImages.cpp:40:25: note: use reference type to prevent copying
 40 |         for (const auto fn : content.image_filenames)
    |                         ^~
    |                         &
[ 57%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentFlipImages.cpp.o
[ 59%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentImageFilenameSort.cpp.o
[ 61%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentImportTxt.cpp.o
[ 63%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentMoveEmptyImages.cpp.o
[ 65%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentReloadResave.cpp.o
[ 68%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentReview.cpp.o
/home/user/src/DarkMark/src-darkmark/DMContentReview.cpp: In member function ‘virtual void dm::DMContentReview::run()’:
/home/user/src/DarkMark/src-darkmark/DMContentReview.cpp:275:33: warning: loop variable ‘iter’ creates a copy from type ‘const std::pair<const long unsigned int, std::map<long unsigned int, dm::ReviewInfo> >’ [-Wrange-loop-construct]
275 |                 for (const auto iter : m)
    |                                 ^~~~
/home/user/src/DarkMark/src-darkmark/DMContentReview.cpp:275:33: note: use reference type to prevent copying
275 |                 for (const auto iter : m)
    |                                 ^~~~
    |                                 &
[ 70%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentRotateImages.cpp.o
[ 72%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMContentStatistics.cpp.o
[ 74%] Building CXX object src-darkmark/CMakeFiles/dm_darkmark.dir/DMWnd.cpp.o
[ 74%] Built target dm_darkmark
[ 76%] Building CXX object src-launcher/CMakeFiles/dm_launcher.dir/StartupCanvas.cpp.o
[ 78%] Building CXX object src-launcher/CMakeFiles/dm_launcher.dir/StartupWnd.cpp.o
/home/user/src/DarkMark/src-launcher/StartupWnd.cpp: In member function ‘virtual void dm::StartupWnd::buttonClicked(juce::Button*)’:
/home/user/src/DarkMark/src-launcher/StartupWnd.cpp:427:51: warning: loop variable ‘k’ creates a copy from type ‘const juce::String’ [-Wrange-loop-construct]
427 |                                 for (const String k : cfg().getAllProperties().getAllKeys())
    |                                                   ^
/home/user/src/DarkMark/src-launcher/StartupWnd.cpp:427:51: note: use reference type to prevent copying
427 |                                 for (const String k : cfg().getAllProperties().getAllKeys())
    |                                                   ^
    |                                                   &
/home/user/src/DarkMark/src-launcher/StartupWnd.cpp:434:56: warning: loop variable ‘k’ creates a copy from type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} [-Wrange-loop-construct]
434 |                                 for (const std::string k : keys_to_delete)
    |                                                        ^
/home/user/src/DarkMark/src-launcher/StartupWnd.cpp:434:56: note: use reference type to prevent copying
434 |                                 for (const std::string k : keys_to_delete)
    |                                                        ^
    |                                                        &
[ 80%] Building CXX object src-launcher/CMakeFiles/dm_launcher.dir/VideoImportWindow.cpp.o
[ 80%] Built target dm_launcher
[ 82%] Building CXX object src-wnd/CMakeFiles/dm_wnd.dir/DMJumpWnd.cpp.o
[ 85%] Building CXX object src-wnd/CMakeFiles/dm_wnd.dir/DMReviewCanvas.cpp.o
[ 87%] Building CXX object src-wnd/CMakeFiles/dm_wnd.dir/DMReviewWnd.cpp.o
[ 89%] Building CXX object src-wnd/CMakeFiles/dm_wnd.dir/DMStatsWnd.cpp.o
[ 91%] Building CXX object src-wnd/CMakeFiles/dm_wnd.dir/ScrollField.cpp.o
[ 93%] Building CXX object src-wnd/CMakeFiles/dm_wnd.dir/SettingsWnd.cpp.o
[ 93%] Built target dm_wnd
Scanning dependencies of target DarkMark
[ 95%] Building CXX object src-main/CMakeFiles/DarkMark.dir/DarkMarkApp.cpp.o
/home/user/src/DarkMark/src-main/DarkMarkApp.cpp: In member function ‘virtual void dm::DarkMarkApplication::initialise(const juce::String&)’:
/home/user/src/DarkMark/src-main/DarkMarkApp.cpp:317:51: warning: loop variable ‘k’ creates a copy from type ‘const juce::String’ [-Wrange-loop-construct]
317 |                                 for (const String k : cfg->getAllProperties().getAllKeys())
    |                                                   ^
/home/user/src/DarkMark/src-main/DarkMarkApp.cpp:317:51: note: use reference type to prevent copying
317 |                                 for (const String k : cfg->getAllProperties().getAllKeys())
    |                                                   ^
    |                                                   &
/home/user/src/DarkMark/src-main/DarkMarkApp.cpp:324:56: warning: loop variable ‘k’ creates a copy from type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} [-Wrange-loop-construct]
324 |                                 for (const std::string k : keys_to_delete)
    |                                                        ^
/home/user/src/DarkMark/src-main/DarkMarkApp.cpp:324:56: note: use reference type to prevent copying
324 |                                 for (const std::string k : keys_to_delete)
    |                                                        ^
    |                                                        &
[ 97%] Building CXX object src-main/CMakeFiles/DarkMark.dir/main.cpp.o
[100%] Linking CXX executable DarkMark
[100%] Built target DarkMark

Thanks. I'll eventually get around to installing 21.10 and fixing those warnings, I've just been really busy lately.

This has been fixed in the latest version pushed out tonight.