[vlc-devel] Building win32 VLC 2.1.x from Ubuntu

Michael Ditum mike at mikeditum.co.uk
Fri Dec 19 18:46:15 CET 2014


Trust it! I managed to work this out 20 minutes after posting to the
mailing list. Should have just gone and had a chat with a cardboard cut out.

I switched to using the contrib archive
vlc-contrib-i686-w64-mingw32-20131111.tar.bz2 as this was the one that was
created just before 2.1.1 when I assumed not too much work had been done on
2.2. Once I had recompiled everything with that it worked fine.

Is there anywhere that documents what contrib was used to build each
release? I just want to make sure that I'm not using an older contrib with
bugs in.

Thanks,

Mike

On 19 December 2014 at 17:21, Michael Ditum <mike at mikeditum.co.uk> wrote:
>
> Hi,
>
> I'm trying to get the latest VLC 2.1 release building from git for
> Windows. I'm using a Ubuntu 13.10 x64 VM system to do the compilation. I've
> followed the instructions on https://wiki.videolan.org/Win32Compile and
> have managed to compile everything and create the NSIS installer package
> successfully.
>
> There was only one change to the instructions that I had to make.
> Currently the "make prebuilt" command doesn't work with 2.1 branch as the
> ftp site currently wont allow anonymous login. Also if I download the
> latest contrib from https://get.videolan.org/contrib/i686-w64-mingw32/
> the configure command fails as the libraries are too new, so I downloaded
> the contrib that was created before 2.1.5 was released and used that
> instead.
>
> However when I install it on my system I get a message popping up during
> the installation process (and also when I try and start VLC afterwards)
> saying "VLC media player 2.1.6 has stopped working".
>
> The information Windows lists on the problem is:
>
> Problem signature:
>   Problem Event Name: BEX
>   Application Name: vlc-cache-gen.exe
>   Application Version: 2.1.6.0
>   Application Timestamp: 5494490a
>   Fault Module Name: libqt4_plugin.dll
>   Fault Module Version: 0.0.0.0
>   Fault Module Timestamp: 54944909
>   Exception Offset: 00000000
>   Exception Code: c0000005
>   Exception Data: 00000008
>   OS Version: 6.1.7601.2.1.0.768.3
>   Locale ID: 2057
>   Additional Information 1: 9ffc
>   Additional Information 2: 9ffc01cd9d2ac339ba5a046f56be5a06
>   Additional Information 3: d727
>   Additional Information 4: d727e6ef583e78f4baa061d53d6141f3
>
> From what I gather BEX is a Buffer Overflow and is related to the Data
> Execution Prevention system in Windows. If I download the
> vlc-2.1.5-win32.exe off of the VideoLAN website then it installs and runs
> fine, so it must be something odd I'm doing when compiling it.
>
> My notes for compilation are below. Any help on working out why this is
> happening would be greatly appreciated.
>
> Mike
>
> #install needed packages
> apt-get install -y -qq \
> gcc-mingw-w64-i686 \
> g++-mingw-w64-i686 \
> mingw-w64-tools \
> build-essential \
> lua5.2 \
> libtool \
> automake \
> autoconf \
> autopoint \
> make \
> gettext \
> pkg-config \
> qt4-dev-tools \
> git \
> subversion \
> cmake \
> cvs \
> wine-dev \
> zip \
> p7zip-full \
> nsis \
> bzip2 \
> vim-gnome \
> vim-gui-common \
> vim-runtime
>
> #clone vlc 2.1
> git clone git://git.videolan.org/vlc/vlc-2.1.git vlc
>
> #download the contrib
> wget
> https://get.videolan.org/contrib/i686-w64-mingw32/vlc-contrib-i686-w64-mingw32-20140507.tar.bz2
>
> #change into vlc dir
> cd vlc
>
> #create and change into contrib dir
> mkdir -p contrib/win32 && cd contrib/win32
>
> #run the bootstrap
> ../bootstrap --host=i686-w64-mingw32
>
> #symlink in the contrib as make prebuilt tries to download contrib and
> fails (plus the latest one isn't supported by vlc 2.1)
> ln -s ../../../vlc-contrib-i686-w64-mingw32-20140507.tar.bz2
> vlc-contrib-i686-w64-mingw32-latest.tar.bz2
> make prebuilt
>
> #remove the 64 bit binaries
> rm -f ../i686-w64-mingw32/bin/moc ../i686-w64-mingw32/bin/uic
> ../i686-w64-mingw32/bin/rcc
>
> #go back and run the bootstrap
> cd -
> ./bootstrap
>
> #create the dir we'll be compiling in
> mkdir win32 && cd win32
>
> #tell the system where to find the pkgconfig dir
> export PKG_CONFIG_LIBDIR=$HOME/vlc/contrib/i686-w64-mingw32/lib/pkgconfig
>
> #run configure
> ../extras/package/win32/configure.sh --host=i686-w64-mingw32
>
> #compile
> make
>
> #create the package
> make package-win32
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20141219/46aee4ed/attachment.html>


More information about the vlc-devel mailing list