Build Error
Thank you for your help!!! It's said that some function's argument number is not correct. How to fix the error? Or some error in my build?
Command: make -j$(expr $(nproc) + 1)
Output: zsh: command not found: nproc expr: syntax error Consolidate compiler generated dependencies of target align_and_merge_generator Consolidate compiler generated dependencies of target hdrplus_pipeline_generator [ 6%] Building CXX object CMakeFiles/hdrplus_pipeline_generator.dir/src/align.cpp.o [ 9%] Building CXX object CMakeFiles/align_and_merge_generator.dir/src/align.cpp.o [ 12%] Building CXX object CMakeFiles/hdrplus_pipeline_generator.dir/src/finish.cpp.o [ 15%] Building CXX object CMakeFiles/align_and_merge_generator.dir/src/merge.cpp.o [ 15%] Building CXX object CMakeFiles/hdrplus_pipeline_generator.dir/src/merge.cpp.o /Users/zhangqihang/Downloads/llvm/hdr-plus/src/merge.cpp:29:24: error: no matching function for call to 'mirror_interior' Func imgs_mirror = BoundaryConditions::mirror_interior(imgs, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18733:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_interior(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18736:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18741:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/merge.cpp:29:24: error: no matching function for call to 'mirror_interior' Func imgs_mirror = BoundaryConditions::mirror_interior(imgs, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18733:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_interior(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18736:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18741:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/align.cpp:77:24: error: no matching function for call to 'mirror_interior' Func imgs_mirror = BoundaryConditions::mirror_interior(imgs, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18733:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_interior(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18736:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18741:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/align.cpp:77:24: error: no matching function for call to 'mirror_interior' Func imgs_mirror = BoundaryConditions::mirror_interior(imgs, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18733:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_interior(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18736:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18741:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/align.cpp:117:29: error: no matching function for call to 'repeat_edge' Func alignment_repeat = BoundaryConditions::repeat_edge(alignment, 0, num_tx, 0, num_ty); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18636:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func repeat_edge(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18639:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18644:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/align.cpp:117:29: error: no matching function for call to 'repeat_edge' Func alignment_repeat = BoundaryConditions::repeat_edge(alignment, 0, num_tx, 0, num_ty); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18636:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func repeat_edge(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18639:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18644:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/finish.cpp:90:25: error: no matching function for call to 'mirror_interior' Func input_mirror = BoundaryConditions::mirror_interior(input, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18733:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_interior(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18736:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18741:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/finish.cpp:200:25: error: no matching function for call to 'mirror_interior' Func input_mirror = BoundaryConditions::mirror_interior(input, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18733:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_interior(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18736:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18741:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_interior(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/finish.cpp:254:25: error: no matching function for call to 'mirror_image' Func input_mirror = BoundaryConditions::mirror_image(input, 0, width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18698:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func mirror_image(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18701:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func mirror_image(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18706:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func mirror_image(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/finish.cpp:350:23: error: no matching function for call to 'repeat_edge' Func im1_mirror = BoundaryConditions::repeat_edge(im1, 0 , width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18636:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func repeat_edge(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18639:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18644:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like) { ^ /Users/zhangqihang/Downloads/llvm/hdr-plus/src/finish.cpp:351:23: error: no matching function for call to 'repeat_edge' Func im2_mirror = BoundaryConditions::repeat_edge(im2, 0 , width, 0, height); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/Halide.h:18636:6: note: candidate function not viable: requires 2 arguments, but 5 were provided Func repeat_edge(const Func &source, const Region &bounds); ^ /usr/local/include/Halide.h:18639:33: note: candidate function template not viable: requires 2 arguments, but 5 were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like, const Region &bounds) { ^ /usr/local/include/Halide.h:18644:33: note: candidate function template not viable: requires single argument 'func_like', but 5 arguments were provided HALIDE_NO_USER_CODE_INLINE Func repeat_edge(const T &func_like) { ^ 2 errors generated. 1 error generated. 1 error generated. 2 errors generated. make[2]: *** [CMakeFiles/hdrplus_pipeline_generator.dir/src/align.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [CMakeFiles/align_and_merge_generator.dir/src/merge.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [CMakeFiles/hdrplus_pipeline_generator.dir/src/merge.cpp.o] Error 1 make[2]: *** [CMakeFiles/align_and_merge_generator.dir/src/align.cpp.o] Error 1 make[1]: *** [CMakeFiles/align_and_merge_generator.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... 5 errors generated. make[2]: *** [CMakeFiles/hdrplus_pipeline_generator.dir/src/finish.cpp.o] Error 1 make[1]: *** [CMakeFiles/hdrplus_pipeline_generator.dir/all] Error 2 make: *** [all] Error 2
Because Halide 12.0.0 delete the code:
template<typename T, typename... Bounds, typename std::enable_if<Halide::Internal::all_are_convertible<Expr, Bounds...>::value>::type * = nullptr> HALIDE_ATTRIBUTE_DEPRECATED("Add braces around the bounds like so: {{a, b}, {c, d}}") HALIDE_NO_USER_CODE_INLINE Func mirror_image(const T &func_like, Bounds &&... bounds) { Region collected_bounds; Internal::collect_region(collected_bounds, std::forward<Bounds>(bounds)...); return mirror_image(Internal::func_like_to_func(func_like), collected_bounds); }
highlight is ("Add braces around the bounds like so: {{a, b}, {c, d}}")
You can add this kind of function to your halide.
However, I meet another error.
make
`Consolidate compiler generated dependencies of target hdrplus_pipeline_generator [ 21%] Built target hdrplus_pipeline_generator [ 27%] Built target hdrplus_pipeline.runtime [ 30%] Generating hdrplus_pipeline.h, hdrplus_pipeline.o Unhandled exception: Error: All Params and embedded Buffers must have unique names, but the name 'gauss_down4_kernel' was seen multiple times.
make[2]: *** [hdrplus_pipeline.h] Error 255 make[1]: *** [CMakeFiles/hdrplus_pipeline.update.dir/all] Error 2 make: *** [all] Error 2`
I can't solve this totally! What's wrong with the code of this project????