[vlc-devel] 回复: vlc 3.0 and libav checking

Gilles Sabourin gilles.sabourin at free.fr
Sun Dec 25 22:43:53 CET 2016


Le 25/12/2016 à 16:31, liyoubdu a écrit :
> Hello vlc team,
>
> FYI, during vlc 3.0 configure script execution, AVCODEC checking fails
> with the error :
>
> checking for AVCODEC... no
> configure: error: Comparison operator but no version after package
> name 'libavutil' in file
> '/usr/src/packages/BUILD/vlc-beta-3.0.0/contrib/x86_64-suse-linux/lib/pkgconfig/libavcodec.pc'.
> Pass --disable-avcodec to ignore this error.
>
> libavcodec.pc content is the following:
> prefix=/usr/src/packages/BUILD/vlc-beta-3.0.0/contrib/x86_64-suse-linux
> exec_prefix=${prefix}
> libdir=/usr/src/packages/BUILD/vlc-beta-3.0.0/contrib/x86_64-suse-linux/lib
> includedir=
>
> Name: libavcodec
> Description: Libav codec library
> Version: 57.30.2
> Requires: libavutil >= ,
> Requires.private:
> Conflicts:
> Libs: -L${libdir} -lavcodec -lSDL -lpthread -lvdpau -lX11
> -L/usr/src/packages/BUILD/vlc-beta-3.0.0/contrib/x86_64-suse-linux/lib
> -lvpx -lm -lpthread -lopenjpeg -DOPJ_STATIC -lmp3lame -lgsm -lm -lz
> -pthread
> Libs.private:
> Cflags: -I${includedir}
>
>
> I guess the bug is coming from the latest git libav repository update
> hosted by videolan. Maybe libav developper team is aware of this issue
> and it has already been fixed. In that event, doing a new libav
> repository update should be good enough. Otherwise, libav developper
> team should be advertised, since this is blocking vlc 3.0 generation.
>
> I don't follow libav project evolutions, so I don't know where to post
> in a more appropriate manner. If you tell me, i can do that for you.
>
>
> Merry Christmas to you,
> Gilles Sabourin
>
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> hi, which version is your operating system and ffmpeg version?
Hi,

My OS is an openSUSE 13.2 LTS, still supported by NOVELL (Support will
end soon, during january 2017). 8 months ago, vlc 3.0 configure script
reported that my automake version was too old. At least v1.15 was
needed. This component was also too old for LEAP 42.1 version, and to
avoid issues with proprietary video drivers, I haven't replaced my
distribution by Tumbleweed rolling release. Instead, I picked latest
automake package from tumbleweed repository and i have replaced it manually.

vlc 3.0 generation used to work well until recently last december, 23rd.
Better,  I even got a vlc 3.0 binary on my tower and I have launched
also generation on my laptop which has stopped with this error. To check
back, I have simply launched a new generation on my tower without
updating anything, but only rebuilding contributions. Generation failed
during vlc 3.0 configure check.

I think that libav is generated during contributions phase by default,
not ffmpeg. Your question about ffmpeg version seems to me, irrelevant :
If you carefully looked at the path where the configure script is
complaining about a missing version for libavutil, you see that it is
pointing to the rpm package generation folder, and not inside any system
path.

I'm pretty confident that the root cause of the issue is coming from the
ffmpeg contribution. These libraries are also generated and updated from
a git repository inside videolan.

Let's have a look at : /vlc/contrib/src/ffmpeg/rules.mak
The main function of this script, provided by vlc developers is to
download a tarball archive or a git tree and to compile ffmpeg
libraries. Script is beginning by :

# FFmpeg

#Uncomment the one you want
#USE_LIBAV ?= 1
#USE_FFMPEG ?= 1

ifdef USE_FFMPEG
FFMPEG_HASH=HEAD
FFMPEG_SNAPURL :=
http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(FFMPEG_HASH);sf=tgz
FFMPEG_GITURL := http://git.videolan.org/git/ffmpeg.git
else
FFMPEG_HASH=HEAD
FFMPEG_SNAPURL :=
http://git.libav.org/?p=libav.git;a=snapshot;h=$(FFMPEG_HASH);sf=tgz
FFMPEG_GITURL := git://git.libav.org/libav.git
endif
[...]

Both variables are commented, so the script will pick git libav.org
repository to the head, not git videolan.org repository, instead of what
I wrongly wrote in first message. Remark that this approach is a bit
risky since a problem localized in ffmpeg development can lead to vlc
generation failure. Developers organizations may have found interesting
to check both developments at a time since most of audio / video formats
processing for vlc relies intensively on ffmpeg libraries.

I haven't look closely at the git libav tree.  I guess that
libavcodec.pc file is coming from libavcodec.pc.in file where not all
fields were well replaced by autotool generation chain.

Best,
Gilles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20161225/46f874e1/attachment.html>


More information about the vlc-devel mailing list