[FFmpeg-trac] #6729(undetermined:new): Compile error with v4l2 in ffmpeg git master

FFmpeg trac at avcodec.org
Thu Oct 12 03:36:17 EEST 2017


#6729: Compile error with v4l2 in ffmpeg git master
-------------------------------------+-------------------------------------
             Reporter:  bermond      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 I'm getting the following compile error with v4l2:
 {{{
 LD      ffplay_g
 LD      ffmpeg_g
 LD      ffprobe_g
 LD      ffserver_g
 libavdevice/libavdevice.a(v4l2.o): In function `device_open':
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_close'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_open'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_dup'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_ioctl'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_read'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_mmap'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_munmap'
 libavdevice/libavdevice.a(v4l2.o): In function `v4l2_read_header':
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:840:
 undefined reference to `v4l2_log_file'
 collect2: error: ld returned 1 exit status
 make: *** [Makefile:107: ffplay_g] Error 1
 make: *** Waiting for unfinished jobs....
 libavdevice/libavdevice.a(v4l2.o): In function `device_open':
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_close'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_open'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_dup'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_ioctl'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_read'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_mmap'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_munmap'
 libavdevice/libavdevice.a(v4l2.o): In function `v4l2_read_header':
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:840:
 undefined reference to `v4l2_log_file'
 collect2: error: ld returned 1 exit status
 make: *** [Makefile:107: ffprobe_g] Error 1
 libavdevice/libavdevice.a(v4l2.o): In function `device_open':
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_close'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_open'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_dup'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_ioctl'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_read'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_mmap'
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:129:
 undefined reference to `v4l2_munmap'
 libavdevice/libavdevice.a(v4l2.o): In function `v4l2_read_header':
 /home/user/abs/ffmpeg-full-git/src/ffmpeg-full-git/libavdevice/v4l2.c:840:
 undefined reference to `v4l2_log_file'
 collect2: error: ld returned 1 exit status
 make: *** [Makefile:107: ffmpeg_g] Error 1
 }}}

 A git bisect shows that this is being caused by commit
 [http://git.videolan.org/?p=ffmpeg.git;a=commit;h=6dfcbd80ad446ff163b47f2bf432bbf706436ea8
 6dfcbd80ad446ff163b47f2bf432bbf706436ea8].

 I can confirm that it was compiling fine until commit
 [http://git.videolan.org/?p=ffmpeg.git;a=commit;h=e4d5310a507d82656d670437c3a5f3b42b3fe060
 e4d5310a507d82656d670437c3a5f3b42b3fe060]. This was the commit that I used
 in the {{{git bisect good}}} command.

 How to reproduce:
 {{{
 $ git clone git://source.ffmpeg.org/ffmpeg.git
 $ cd ffmpeg
 $ ./configure --enable-libv4l2
 $ make -j8
 }}}

 '''System information:'''
 '''OS:''' Arch Linux x86_64
 '''Compiler:''' gcc 7.2.0
 '''glibc:''' 2.26
 '''FFmpeg:''' git master
 '''v4l2:''' 2.0.2

 '''Relevant system-wide environmet variables:'''
 '''CPPFLAGS='''"-D_FORTIFY_SOURCE=2"
 '''CFLAGS='''"-march=native -O2 -pipe -fstack-protector-strong -fno-plt"
 '''CXXFLAGS='''"-march=native -O2 -pipe -fstack-protector-strong -fno-plt"
 '''LDFLAGS='''"-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6729>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list