pangenome / odgi

Optimized Dynamic Genome/Graph Implementation: understanding pangenome graphs
https://doi.org/10.1093/bioinformatics/btac308
MIT License
191 stars 39 forks source link

building odgi with Cactus downloadPangenomeTools results in c++: fatal error: Killed signal terminated program cc1plus #521

Open SomePersonSomeWhereInTheWorld opened 1 year ago

SomePersonSomeWhereInTheWorld commented 1 year ago

I created this issue over on the Cactus Git page. You can see the errors using gcc 10.3 and 13.0.1. Is there a fix for this that can be shared?

c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:132: CMakeFiles/odgi_objs.dir/src/algorithms/subgraph/region.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp: In function ‘void odgi::algorithms::add_full_paths_to_component(const odgi::graph_t&, odgi::graph_t&, uint64_t)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:36:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
             for (auto& source_path : taken_source_paths) {
                                    ^
                                    ::
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:36:24: error: ‘source_path’ has not been declared
             for (auto& source_path : taken_source_paths) {
                        ^~~~~~~~~~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:36:56: error: qualified-id in declaration before ‘)’ token
             for (auto& source_path : taken_source_paths) {
                                                        ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:43:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:44:9: error: expected primary-expression before ‘}’ token
         }
         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:43:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:44:9: error: expected primary-expression before ‘}’ token
         }
         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:43:14: error: expected ‘)’ before ‘}’ token
             }
              ^
              )
         }
         ~     
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:36:17: note: to match this ‘(’
             for (auto& source_path : taken_source_paths) {
                 ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:44:9: error: expected primary-expression before ‘}’ token
         }
         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:36:13: error: expected iteration declaration or initialization
             for (auto& source_path : taken_source_paths) {
             ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp: In function ‘void odgi::algorithms::windows_in_out(const handlegraph::PathHandleGraph&, const std::vector<handlegraph::path_handle_t>&, const std::function<bool(handlegraph::handle_t)>&, const uint64_t&, const std::function<void(const std::vector<odgi::path_range_t>&)>&, const uint64_t&)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:406:37: error: found ‘:’ in nested-name-specifier, expected ‘::’
             for (path_handle_t path : paths) {
                                     ^
                                     ::
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:406:32: error: ‘path’ has not been declared
             for (path_handle_t path : paths) {
                                ^~~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:406:44: error: qualified-id in declaration before ‘)’ token
             for (path_handle_t path : paths) {
                                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:457:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:458:9: error: expected primary-expression before ‘}’ token
         }
         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:457:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:458:9: error: expected primary-expression before ‘}’ token
         }
         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:457:14: error: expected ‘)’ before ‘}’ token
             }
              ^
              )
         }
         ~     
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:406:17: note: to match this ‘(’
             for (path_handle_t path : paths) {
                 ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:458:9: error: expected primary-expression before ‘}’ token
         }
         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/algorithms/subgraph/extract.cpp:406:13: error: expected iteration declaration or initialization
             for (path_handle_t path : paths) {
             ^~~
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:76: CMakeFiles/odgi_objs.dir/src/odgi.cpp.o] Error 1
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:146: CMakeFiles/odgi_objs.dir/src/algorithms/subgraph/extract.cpp.o] Error 1
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp: In function ‘int odgi::main_overlap(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:157:40: error: found ‘:’ in nested-name-specifier, expected ‘::’
                 for (path_handle_t p_h : paths_to_consider) {
                                        ^
                                        ::
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:157:36: error: ‘p_h’ has not been declared
                 for (path_handle_t p_h : paths_to_consider) {
                                    ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:157:59: error: qualified-id in declaration before ‘)’ token
                 for (path_handle_t p_h : paths_to_consider) {
                                                           ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:171:18: error: expected ‘;’ before ‘std’
                 }
                  ^
                  ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:173:17:
                 std::sort(touched_path_handles.begin(), touched_path_handles.end(),
                 ~~~
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:118: CMakeFiles/odgi_objs.dir/src/utils.cpp.o] Error 1
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:179:17: error: expected primary-expression before ‘for’
                 for (auto touched_path_handle : touched_path_handles) {
                 ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:176:28: error: expected ‘)’ before ‘for’
                         });
                            ^
                            )
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:179:17:
                 for (auto touched_path_handle : touched_path_handles) {
                 ~~~         
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:157:21: note: to match this ‘(’
                 for (path_handle_t p_h : paths_to_consider) {
                     ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:183:13: error: expected primary-expression before ‘}’ token
             }
             ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/overlap_main.cpp:157:17: error: expected iteration declaration or initialization
                 for (path_handle_t p_h : paths_to_consider) {
                 ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp: In function ‘int odgi::main_depth(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:274:29: error: found ‘:’ in nested-name-specifier, expected ‘::’
             for (auto& path : paths) {
                             ^
                             ::
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:274:24: error: ‘path’ has not been declared
             for (auto& path : paths) {
                        ^~~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:274:36: error: qualified-id in declaration before ‘)’ token
             for (auto& path : paths) {
                                    ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected primary-expression before end of line
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected primary-expression before end of line
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected ‘)’ before end of line
 #pragma omp critical (cout)
                            ^
                            )
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:274:17: note: to match this ‘(’
             for (auto& path : paths) {
                 ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected primary-expression before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:274:13: error: expected iteration declaration or initialization
             for (auto& path : paths) {
             ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:264:32: note: to match this ‘{’
         } else if (path_depth) {
                                ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:17:43: note: to match this ‘{’
     int main_depth(int argc, char **argv) {
                                           ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp: At global scope:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:13:16: note: to match this ‘{’
 namespace odgi {
                ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: error: expected declaration before end of line
 #pragma omp critical (cout)
                            ^
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:258: CMakeFiles/odgi_objs.dir/src/subcommand/overlap_main.cpp.o] Error 1
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp: In function ‘int odgi::main_squeeze(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:194:40: error: found ‘:’ in nested-name-specifier, expected ‘::’
                 for (auto old_new_path : old_and_new_paths) {
                                        ^
                                        ::
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:194:27: error: ‘old_new_path’ has not been declared
                 for (auto old_new_path : old_and_new_paths) {
                           ^~~~~~~~~~~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:194:59: error: qualified-id in declaration before ‘)’ token
                 for (auto old_new_path : old_and_new_paths) {
                                                           ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:203:18: error: expected ‘;’ before ‘shift_id’
                 }
                  ^
                  ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:205:17:
                 shift_id = max_id;
                 ~~~~~~~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:206:35: error: expected ‘)’ before ‘;’ token
                 ++input_graph_rank;
                                   ^
                                   )
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:194:21: note: to match this ‘(’
                 for (auto old_new_path : old_and_new_paths) {
                     ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/squeeze_main.cpp:194:17: error: expected iteration declaration or initialization
                 for (auto old_new_path : old_and_new_paths) {
                 ^~~
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:272: CMakeFiles/odgi_objs.dir/src/unittest/driver.cpp.o] Error 1
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:286: CMakeFiles/odgi_objs.dir/src/unittest/handle.cpp.o] Error 1
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp: In function ‘int odgi::main_stats(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:787:25: error: expected ‘=’ before ‘:’ token
         for (auto& path : paths) {
                         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected primary-expression before end of line
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected primary-expression before end of line
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected ‘)’ before end of line
 #pragma omp critical (cout)
                            ^
                            )
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:787:13: note: to match this ‘(’
         for (auto& path : paths) {
             ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected primary-expression before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:787:9: error: invalid type for iteration variable ‘path’
         for (auto& path : paths) {
         ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:777:43: note: to match this ‘{’
     if (args::get(weighted_feedback_arc)) {
                                           ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:20:39: note: to match this ‘{’
 int main_stats(int argc, char** argv) {
                                       ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp: At global scope:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:16:16: note: to match this ‘{’
 namespace odgi {
                ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: error: expected declaration before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp: In function ‘int odgi::main_paths(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:115:18: error: found ‘:’ in nested-name-specifier, expected ‘::’
   for (auto path : paths) {
                  ^
                  ::
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:115:13: error: ‘path’ has not been declared
   for (auto path : paths) {
             ^~~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:115:25: error: qualified-id in declaration before ‘)’ token
   for (auto path : paths) {
                         ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected primary-expression before end of line
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected primary-expression before end of line
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected ‘)’ before end of line
 #pragma omp critical (cout)
                            ^
                            )
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:115:7: note: to match this ‘(’
   for (auto path : paths) {
       ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected primary-expression before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:115:3: error: expected iteration declaration or initialization
   for (auto path : paths) {
   ^~~
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:109:44: note: to match this ‘{’
     if (list_path_start_end && list_names) {
                                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:14:39: note: to match this ‘{’
 int main_paths(int argc, char** argv) {
                                       ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp: At global scope:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:10:16: note: to match this ‘{’
 namespace odgi {
                ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: error: expected declaration before end of line
 #pragma omp critical (cout)
                            ^
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp: In function ‘int odgi::main_depth(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/depth_main.cpp:289:28: warning: control reaches end of non-void function [-Wreturn-type]
 #pragma omp critical (cout)
                            ^
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:244: CMakeFiles/odgi_objs.dir/src/subcommand/depth_main.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:482: CMakeFiles/odgi_objs.dir/src/subcommand/squeeze_main.cpp.o] Error 1
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp: In function ‘int odgi::main_paths(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/paths_main.cpp:121:28: warning: control reaches end of non-void function [-Wreturn-type]
 #pragma omp critical (cout)
                            ^
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:566: CMakeFiles/odgi_objs.dir/src/subcommand/paths_main.cpp.o] Error 1
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp: In function ‘int odgi::main_stats(int, char**)’:
/myuser/cactus/build-pangenome-tools/odgi-v0.8.3/src/subcommand/stats_main.cpp:810:28: warning: control reaches end of non-void function [-Wreturn-type]
 #pragma omp critical (cout)
                            ^
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:440: CMakeFiles/odgi_objs.dir/src/subcommand/stats_main.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:831: CMakeFiles/odgi_objs.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
subwaystation commented 1 year ago

Could you please try to build the current master of odgi? This would help us to better debug your problem.

SomePersonSomeWhereInTheWorld commented 1 year ago

Could you please try to build the current master of odgi?

using cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Generic && cmake --build build -- -j 3

-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- pybind11 v2.11.0 dev1
-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/me/odgi/build
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp: In function ‘void odgi::algorithms::add_full_paths_to_component(const odgi::graph_t&, odgi::graph_t&, uint64_t)’:
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:36:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
             for (auto& source_path : taken_source_paths) {
                                    ^
                                    ::
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:36:24: error: ‘source_path’ has not been declared
             for (auto& source_path : taken_source_paths) {
                        ^~~~~~~~~~~
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:36:56: error: qualified-id in declaration before ‘)’ token
             for (auto& source_path : taken_source_paths) {
                                                        ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:43:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:44:9: error: expected primary-expression before ‘}’ token
         }
         ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:43:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:44:9: error: expected primary-expression before ‘}’ token
         }
         ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:43:14: error: expected ‘)’ before ‘}’ token
             }
              ^
              )
         }
         ~     
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:36:17: note: to match this ‘(’
             for (auto& source_path : taken_source_paths) {
                 ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:44:9: error: expected primary-expression before ‘}’ token
         }
         ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:36:13: error: expected iteration declaration or initialization
             for (auto& source_path : taken_source_paths) {
             ^~~
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp: In function ‘void odgi::algorithms::windows_in_out(const handlegraph::PathHandleGraph&, const std::vector<handlegraph::path_handle_t>&, const std::function<bool(handlegraph::handle_t)>&, const uint64_t&, const std::function<void(const std::vector<odgi::path_range_t>&)>&, const uint64_t&)’:
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:406:37: error: found ‘:’ in nested-name-specifier, expected ‘::’
             for (path_handle_t path : paths) {
                                     ^
                                     ::
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:406:32: error: ‘path’ has not been declared
             for (path_handle_t path : paths) {
                                ^~~~
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:406:44: error: qualified-id in declaration before ‘)’ token
             for (path_handle_t path : paths) {
                                            ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:457:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:458:9: error: expected primary-expression before ‘}’ token
         }
         ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:457:14: error: expected ‘;’ before ‘}’ token
             }
              ^
              ;
         }
         ~     
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:458:9: error: expected primary-expression before ‘}’ token
         }
         ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:457:14: error: expected ‘)’ before ‘}’ token
             }
              ^
              )
         }
         ~     
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:406:17: note: to match this ‘(’
             for (path_handle_t path : paths) {
                 ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:458:9: error: expected primary-expression before ‘}’ token
         }
         ^
/path/to/me/odgi/src/algorithms/subgraph/extract.cpp:406:13: error: expected iteration declaration or initialization
             for (path_handle_t path : paths) {
             ^~~
/path/to/me/odgi/src/subcommand/depth_main.cpp: In function ‘int odgi::main_depth(int, char**)’:
/path/to/me/odgi/src/subcommand/depth_main.cpp:274:29: error: found ‘:’ in nested-name-specifier, expected ‘::’
             for (auto& path : paths) {
                             ^
                             ::
/path/to/me/odgi/src/subcommand/depth_main.cpp:274:24: error: ‘path’ has not been declared
             for (auto& path : paths) {
                        ^~~~
/path/to/me/odgi/src/subcommand/depth_main.cpp:274:36: error: qualified-id in declaration before ‘)’ token
             for (auto& path : paths) {
                                    ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected primary-expression before end of line
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected ‘;’ before end of line
 #pragma omp critical (cout)
                            ^
                            ;
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected primary-expression before end of line
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected ‘)’ before end of line
 #pragma omp critical (cout)
                            ^
                            )
/path/to/me/odgi/src/subcommand/depth_main.cpp:274:17: note: to match this ‘(’
             for (auto& path : paths) {
                 ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected primary-expression before end of line
 #pragma omp critical (cout)
                            ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:274:13: error: expected iteration declaration or initialization
             for (auto& path : paths) {
             ^~~
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:264:32: note: to match this ‘{’
         } else if (path_depth) {
                                ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:17:43: note: to match this ‘{’
     int main_depth(int argc, char **argv) {
                                           ^
/path/to/me/odgi/src/subcommand/depth_main.cpp: At global scope:
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected ‘}’ before end of line
 #pragma omp critical (cout)
                            ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:13:16: note: to match this ‘{’
 namespace odgi {
                ^
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: error: expected declaration before end of line
 #pragma omp critical (cout)
                            ^
/path/to/me/odgi/src/subcommand/overlap_main.cpp: In function ‘int odgi::main_overlap(int, char**)’:
/path/to/me/odgi/src/subcommand/overlap_main.cpp:157:40: error: found ‘:’ in nested-name-specifier, expected ‘::’
                 for (path_handle_t p_h : paths_to_consider) {
                                        ^
                                        ::
/path/to/me/odgi/src/subcommand/overlap_main.cpp:157:36: error: ‘p_h’ has not been declared
                 for (path_handle_t p_h : paths_to_consider) {
                                    ^~~
/path/to/me/odgi/src/subcommand/overlap_main.cpp:157:59: error: qualified-id in declaration before ‘)’ token
                 for (path_handle_t p_h : paths_to_consider) {
                                                           ^
/path/to/me/odgi/src/subcommand/overlap_main.cpp:171:18: error: expected ‘;’ before ‘std’
                 }
                  ^
                  ;
/path/to/me/odgi/src/subcommand/overlap_main.cpp:173:17:
                 std::sort(touched_path_handles.begin(), touched_path_handles.end(),
                 ~~~
/path/to/me/odgi/src/subcommand/overlap_main.cpp:179:17: error: expected primary-expression before ‘for’
                 for (auto touched_path_handle : touched_path_handles) {
                 ^~~
/path/to/me/odgi/src/subcommand/overlap_main.cpp:176:28: error: expected ‘)’ before ‘for’
                         });
                            ^
                            )
/path/to/me/odgi/src/subcommand/overlap_main.cpp:179:17:
                 for (auto touched_path_handle : touched_path_handles) {
                 ~~~         
/path/to/me/odgi/src/subcommand/overlap_main.cpp:157:21: note: to match this ‘(’
                 for (path_handle_t p_h : paths_to_consider) {
                     ^
/path/to/me/odgi/src/subcommand/overlap_main.cpp:183:13: error: expected primary-expression before ‘}’ token
             }
             ^
/path/to/me/odgi/src/subcommand/overlap_main.cpp:157:17: error: expected iteration declaration or initialization
                 for (path_handle_t p_h : paths_to_consider) {
                 ^~~
/path/to/me/odgi/src/subcommand/depth_main.cpp: In function ‘int odgi::main_depth(int, char**)’:
/path/to/me/odgi/src/subcommand/depth_main.cpp:289:28: warning: control reaches end of non-void function [-Wreturn-type]
 #pragma omp critical (cout)
                            ^
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:244: CMakeFiles/odgi_objs.dir/src/subcommand/depth_main.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:146: CMakeFiles/odgi_objs.dir/src/algorithms/subgraph/extract.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/odgi_objs.dir/build.make:258: CMakeFiles/odgi_objs.dir/src/subcommand/overlap_main.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:831: CMakeFiles/odgi_objs.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
subwaystation commented 1 year ago

You use specifically gmake instead of make. Maybe this is the issue? Else I have no idea. Maybe @pjotrp has some clue?

SomePersonSomeWhereInTheWorld commented 1 year ago

You use specifically gmake instead of make. Maybe this is the issue?

When I tried gmake, that works fine, it's build-tools/downloadPangenomeTools that fails with all those syntax errors with () {}.

pjotrp commented 1 year ago

These are C++ errors. Probably an old compiler.

SomePersonSomeWhereInTheWorld commented 1 year ago

These are C++ errors. Probably an old compiler.

gcc 13.0.1 and cmake 3.22.1 are old?

pjotrp commented 1 year ago

well then it is something else...

SomePersonSomeWhereInTheWorld commented 1 year ago

Just to confirm I also used a newer gmake, same error:

 ~/.local/bin/make/bin/gmake --version
GNU Make 4.4