moskewcz / boda

Boda: A C++ Framework for Efficient Experiments in Computer Vision
Other
63 stars 12 forks source link

Installation of latest Boda #26

Closed aryamazaheri closed 6 years ago

aryamazaheri commented 6 years ago

I faced with an error while compiling the latest version of Boda on maaya. I tried again with a source code about 6 before and it gets compiled w/o a problem. Can you please identify the source of this issue?

Here is the error:

In file included from ../src/nesi.cc:869:0: ./gen/nesi.cc.nesi_gen.cc:29:40: error: ‘layout_elem_t’ was not declared in this scope tinfo_t tinfo_layout_elem_t = { sizeof(layout_elem_t), "layout_elem_t", layout_elem_t_init_arg, nesi_layout_elem_t_init, layout_elem_t_make_p, layout_elem_t_vect_push_back, layout_elem_t_nesi_dump, 0, leaf_type_nesi_help }; ^ ./gen/nesi.cc.nesi_gen.cc:29:73: error: ‘layout_elem_t_init_arg’ was not declared in this scope tinfo_t tinfo_layout_elem_t = { sizeof(layout_elem_t), "layout_elem_t", layout_elem_t_init_arg, nesi_layout_elem_t_init, layout_elem_t_make_p, layout_elem_t_vect_push_back, layout_elem_t_nesi_dump, 0, leaf_type_nesi_help }; ^ ./gen/nesi.cc.nesi_gen.cc:29:97: error: ‘nesi_layout_elem_t_init’ was not declared in this scope tinfo_t tinfo_layout_elem_t = { sizeof(layout_elem_t), "layout_elem_t", layout_elem_t_init_arg, nesi_layout_elem_t_init, layout_elem_t_make_p, layout_elem_t_vect_push_back, layout_elem_t_nesi_dump, 0, leaf_type_nesi_help }; ^ ./gen/nesi.cc.nesi_gen.cc:29:122: error: ‘layout_elem_t_make_p’ was not declared in this scope tinfo_t tinfo_layout_elem_t = { sizeof(layout_elem_t), "layout_elem_t", layout_elem_t_init_arg, nesi_layout_elem_t_init, layout_elem_t_make_p, layout_elem_t_vect_push_back, layout_elem_t_nesi_dump, 0, leaf_type_nesi_help }; ^ ./gen/nesi.cc.nesi_gen.cc:29:144: error: ‘layout_elem_t_vect_push_back’ was not declared in this scope tinfo_t tinfo_layout_elem_t = { sizeof(layout_elem_t), "layout_elem_t", layout_elem_t_init_arg, nesi_layout_elem_t_init, layout_elem_t_make_p, layout_elem_t_vect_push_back, layout_elem_t_nesi_dump, 0, leaf_type_nesi_help }; ^ ./gen/nesi.cc.nesi_gen.cc:29:174: error: ‘layout_elem_t_nesi_dump’ was not declared in this scope tinfo_t tinfo_layout_elem_t = { sizeof(layout_elem_t), "layout_elem_t", layout_elem_t_init_arg, nesi_layout_elem_t_init, layout_elem_t_make_p, layout_elem_t_vect_push_back, layout_elem_t_nesi_dump, 0, leaf_type_nesi_help }; ^ ./gen/nesi.cc.nesi_gen.cc:30:21: error: ‘layout_elem_t’ was not declared in this scope typedef shared_ptr< layout_elem_t > p_layout_elem_t; ^ ./gen/nesi.cc.nesi_gen.cc:30:35: error: template argument 1 is invalid typedef shared_ptr< layout_elem_t > p_layout_elem_t; ^ makefile:26: recipe for target 'nesi.o' failed

moskewcz commented 6 years ago

yep, that's a bug, and i can replicate it by trying to compile with SDL2 disabled. i think it's as simple as adding a (missing) SDL2 dependency for raw-vid-io.o (which depends on disp_util, which depends on SDL2). adding a NESI type declared in disp_util but used in raw-vid-io is what triggered this specific error. but, i'm not sure how this ever worked, even prior to that explicit dependency ... maybe trying to use raw-vid-io would have failed noisily at runtime? but i'd think it should have failed from the first time i commited raw-vid-io; maybe you just never tried compiling a version after that was added.

anyway, it should be fixed by 6c709c32e8 , let me know if not.

aryamazaheri commented 6 years ago

Thanks. I confirmed that the bug is now fixed.