[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