[FFmpeg-user] [FFmpeg-devel] make: *** [ffbuild/common.mak:67: libavfilter/vf_nnedi.o] Error 1

Hongyi Zhao hongyi.zhao at gmail.com
Wed Jan 20 06:21:39 EET 2021


On Wed, Jan 20, 2021 at 11:32 AM James Almer <jamrial at gmail.com> wrote:
>
> On 1/20/2021 12:29 AM, Hongyi Zhao wrote:
> > On Wed, Jan 20, 2021 at 10:52 AM James Almer <jamrial at gmail.com> wrote:
> >>
> >> On 1/19/2021 11:24 PM, Hongyi Zhao wrote:
> >>> On Wed, Jan 20, 2021 at 12:19 AM Derek Buitenhuis
> >>> <derek.buitenhuis at gmail.com> wrote:
> >>>>
> >>>> On 19/01/2021 09:21, Hongyi Zhao wrote:
> >>>>> libavfilter/vf_nnedi.c: At top level:
> >>>>> libavfilter/vf_nnedi.c:819:13: error: conflicting types for ‘read’
> >>>>>     819 | static void read(float *dst, size_t n, const float **data)
> >>>>
> >>>> I thought this might happen when I saw it go in.
> >>>>
> >>>> We shouldn't be naming functions things that clash with standard POSIX
> >>>> or stdlib functions like 'read'.
> >>>
> >>> I didn't make any changes to the source code, so how to fix the problem?
> >>>
> >>> Best,
> >>
> >> It was already fixed in f3f5ba0bf8, so simply pull the latest changes.
> >
> > But I still meet the following problem:
> >
> > make: *** [ffbuild/common.mak:67: libavutil/hwcontext_vulkan.o] Error 1
> >
> > Best regards,
>
> That line alone is not very descriptive of the compilation issue you're
> experiencing.
>
> This is in any case not the correct list to report this kind of problem.
> Either ask in ffmpeg-user, or open a ticket in https://trac.ffmpeg.org/
> with a more detailed explanation of the problem.

I cont'd with this issue and cc'ed it to ffmpeg-user as shown below:

$ make
[...]
libavutil/hwcontext_vulkan.c:3273:11: note: in expansion of macro ‘CHECK_CU’
 3273 |     ret =
CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
      |           ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |                                 ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument
3 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | A_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass,
cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)

libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3273:11: note: in expansion of macro ‘CHECK_CU’
 3273 |     ret =
CHECK_CU(cu->cuWaitExternalSemaphoresAsync(dst_int->cu_sem, s_w_par,
      |           ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |
~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument
2 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x)
ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString,
(x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3297:15: note: in expansion of macro ‘CHECK_CU’
 3297 |         ret = CHECK_CU(cu->cuMemcpy2DAsync(&cpy, cuda_dev->stream));
      |               ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |                                 ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument
3 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | A_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass,
cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)

libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3297:15: note: in expansion of macro ‘CHECK_CU’
 3297 |         ret = CHECK_CU(cu->cuMemcpy2DAsync(&cpy, cuda_dev->stream));
      |               ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |
~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument
2 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x)
ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString,
(x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3304:11: note: in expansion of macro ‘CHECK_CU’
 3304 |     ret =
CHECK_CU(cu->cuSignalExternalSemaphoresAsync(dst_int->cu_sem, s_s_par,
      |           ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |                                 ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument
3 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | A_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass,
cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)

libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3304:11: note: in expansion of macro ‘CHECK_CU’
 3304 |     ret =
CHECK_CU(cu->cuSignalExternalSemaphoresAsync(dst_int->cu_sem, s_s_par,
      |           ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |
~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument
2 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x)
ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString,
(x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3311:5: note: in expansion of macro ‘CHECK_CU’
 3311 |     CHECK_CU(cu->cuCtxPopCurrent(&dummy));
      |     ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |                                 ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument
3 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | A_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass,
cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)

libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3311:5: note: in expansion of macro ‘CHECK_CU’
 3311 |     CHECK_CU(cu->cuCtxPopCurrent(&dummy));
      |     ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |
~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:71: warning: ISO C forbids passing argument
2 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | #define FF_CUDA_CHECK_DL(avclass, cudl, x)
ff_cuda_check(avclass, cudl->cuGetErrorName, cudl->cuGetErrorString,
(x), #x)
libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3318:5: note: in expansion of macro ‘CHECK_CU’
 3318 |     CHECK_CU(cu->cuCtxPopCurrent(&dummy));
      |     ^~~~~~~~
libavutil/cuda_check.h:32:39: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |                                 ~~~~~~^~~~~~~~~~~~~~~~~
libavutil/cuda_check.h:64:93: warning: ISO C forbids passing argument
3 of ‘ff_cuda_check’ between function pointer and ‘void *’
[-Wpedantic]
   64 | A_CHECK_DL(avclass, cudl, x) ff_cuda_check(avclass,
cudl->cuGetErrorName, cudl->cuGetErrorString, (x), #x)

libavutil/hwcontext_vulkan.c:41:21: note: in expansion of macro
‘FF_CUDA_CHECK_DL’
   41 | #define CHECK_CU(x) FF_CUDA_CHECK_DL(cuda_cu, cu, x)
      |                     ^~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c:3318:5: note: in expansion of macro ‘CHECK_CU’
 3318 |     CHECK_CU(cu->cuCtxPopCurrent(&dummy));
      |     ^~~~~~~~
libavutil/cuda_check.h:32:64: note: expected ‘void *’ but argument is
of type ‘CUresult (*)(CUresult,  const char **)’ {aka ‘enum
cudaError_enum (*)(enum cudaError_enum,  const char **)’}
   32 |                                 void *cuGetErrorName_fn, void
*cuGetErrorString_fn,
      |
~~~~~~^~~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_frames_derive_to’:
libavutil/hwcontext_vulkan.c:3347:55: warning: unused parameter
‘src_fc’ [-Wunused-parameter]
 3347 |                                    AVHWFramesContext *src_fc, int flags)
      |                                    ~~~~~~~~~~~~~~~~~~~^~~~~~
libavutil/hwcontext_vulkan.c:3347:67: warning: unused parameter
‘flags’ [-Wunused-parameter]
 3347 |                                    AVHWFramesContext *src_fc, int flags)
      |                                                               ~~~~^~~~~
libavutil/hwcontext_vulkan.c: At top level:
libavutil/hwcontext_vulkan.c:3387:1: warning: missing initializer for
field ‘frames_derive_from’ of ‘HWContextType’
[-Wmissing-field-initializers]
 3387 | };
      | ^
In file included from libavutil/hwcontext_vulkan.c:24:
libavutil/hwcontext_internal.h:99:24: note: ‘frames_derive_from’ declared here
   99 |     int              (*frames_derive_from)(AVHWFramesContext *dst_ctx,
      |                        ^~~~~~~~~~~~~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_map_from’:
libavutil/hwcontext_vulkan.c:2714:12: warning: this statement may fall
through [-Wimplicit-fallthrough=]
 2714 |         if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
      |            ^
libavutil/hwcontext_vulkan.c:2717:5: note: here
 2717 |     case AV_PIX_FMT_VAAPI:
      |     ^~~~
libavutil/hwcontext_vulkan.c:2718:12: warning: this statement may fall
through [-Wimplicit-fallthrough=]
 2718 |         if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
      |            ^
libavutil/hwcontext_vulkan.c:2722:5: note: here
 2722 |     default:
      |     ^~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_map_to’:
libavutil/hwcontext_vulkan.c:2542:12: warning: this statement may fall
through [-Wimplicit-fallthrough=]
 2542 |         if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
      |            ^
libavutil/hwcontext_vulkan.c:2545:5: note: here
 2545 |     case AV_PIX_FMT_DRM_PRIME:
      |     ^~~~
libavutil/hwcontext_vulkan.c:2546:12: warning: this statement may fall
through [-Wimplicit-fallthrough=]
 2546 |         if (p->extensions & EXT_EXTERNAL_DMABUF_MEMORY)
      |            ^
libavutil/hwcontext_vulkan.c:2549:5: note: here
 2549 |     default:
      |     ^~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data_from’:
libavutil/hwcontext_vulkan.c:3334:12: warning: this statement may fall
through [-Wimplicit-fallthrough=]
 3334 |         if ((p->extensions & EXT_EXTERNAL_FD_MEMORY) &&
      |            ^
libavutil/hwcontext_vulkan.c:3338:5: note: here
 3338 |     default:
      |     ^~~~~~~
libavutil/hwcontext_vulkan.c: In function ‘vulkan_transfer_data_to’:
libavutil/hwcontext_vulkan.c:3227:12: warning: this statement may fall
through [-Wimplicit-fallthrough=]
 3227 |         if ((p->extensions & EXT_EXTERNAL_FD_MEMORY) &&
      |            ^
libavutil/hwcontext_vulkan.c:3231:5: note: here
 3231 |     default:
      |     ^~~~~~~
make: *** [ffbuild/common.mak:67: libavutil/hwcontext_vulkan.o] Error 1


Other relevant information is as follows:

$ git log -1
commit f359575c0b890b66ccdeca1c8f83061a1525782b (HEAD -> master,
origin/master, origin/HEAD)
Author: Paul B Mahol <onemda at gmail.com>
Date:   Tue Jan 19 20:20:35 2021 +0100

    avfilter/vf_nnedi: unbreak nsize=0:nns=0 output

$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 20.10
Release:    20.10
Codename:    groovy

Best,
-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao at gmail.com>
Theory and Simulation of Materials
Hebei Polytechnic University of Science and Technology engineering
NO. 552 North Gangtie Road, Xingtai, China


More information about the ffmpeg-user mailing list