Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#7490 closed defect (fixed)

Build error with new ffnvcodec-headers 8.2.15.2

Reported by: bermond Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: libnpp npp ffnvcodec cuda
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I'm getting the following error when trying to build ffmpeg git master with the newly released ffnvcodec-headers 8.2.15.2:

CC      libavfilter/vf_scale_npp.o
In file included from /usr/include/ffnvcodec/dynlink_loader.h:33,
                 from ./compat/cuda/dynlink_loader.h:31,
                 from ./libavutil/hwcontext_cuda_internal.h:23,
                 from libavfilter/vf_scale_npp.c:31:
/usr/include/ffnvcodec/dynlink_cuda.h:103:16: error: redefinition of ‘struct CUuuid_st’
 typedef struct CUuuid_st {
                ^~~~~~~~~
In file included from /opt/cuda/include/builtin_types.h:59,
                 from /opt/cuda/include/cuda_runtime.h:91,
                 from /opt/cuda/include/nppdefs.h:52,
                 from /opt/cuda/include/nppi.h:60,
                 from libavfilter/vf_scale_npp.c:24:
/opt/cuda/include/driver_types.h:1522:27: note: originally defined here
 struct __device_builtin__ CUuuid_st {     /**< CUDA definition of UUID */
                           ^~~~~~~~~
In file included from /usr/include/ffnvcodec/dynlink_loader.h:33,
                 from ./compat/cuda/dynlink_loader.h:31,
                 from ./libavutil/hwcontext_cuda_internal.h:23,
                 from libavfilter/vf_scale_npp.c:31:
/usr/include/ffnvcodec/dynlink_cuda.h:105:3: error: conflicting types for ‘CUuuid’
 } CUuuid;
   ^~~~~~
In file included from /opt/cuda/include/builtin_types.h:59,
                 from /opt/cuda/include/cuda_runtime.h:91,
                 from /opt/cuda/include/nppdefs.h:52,
                 from /opt/cuda/include/nppi.h:60,
                 from libavfilter/vf_scale_npp.c:24:
/opt/cuda/include/driver_types.h:1525:45: note: previous declaration of ‘CUuuid’ was here
 typedef __device_builtin__ struct CUuuid_st CUuuid;
                                             ^~~~~~
make: *** [ffbuild/common.mak:60: libavfilter/vf_scale_npp.o] Error 1

I can confirm that it builds fine with ffnvcodec-headers 8.2.15.1.

How to reproduce:

$ git clone https://git.ffmpeg.org/ffmpeg.git
$ cd ffmpeg
$ ./configure --enable-libnpp --enable-nonfree --prefix='/usr' --extra-cflags='-I/opt/cuda/include' --extra-ldflags='-L/opt/cuda/lib64'
$ make -j1

System Information:
OS: Arch Linux x86_64
ffmpeg: git master (currently at commit 296609f)
ffnvcodec-headers: git master (currently at stable v8.2.15.2, commit d098cb4)
cuda: 10.0.130

Change History (3)

comment:1 by vsky, 5 years ago

I have the same issue with ffnvcodec-headers v8.2.25.

comment:2 by Timo R., 5 years ago

Resolution: fixed
Status: newclosed

Fixed in latest iterations of nv-codec-headers releases.

comment:3 by bermond, 5 years ago

I can confirm that it's fixed in latest ffnvcodec-headers 8.2.15.4. Building fine with this version.

Thank you for fixing this.

Note: See TracTickets for help on using tickets.