[vlc-devel] Building win32 VLC 2.1.x from Ubuntu
Michael Ditum
mike at mikeditum.co.uk
Fri Dec 19 18:21:25 CET 2014
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/b6a4fe15/attachment.html>
More information about the vlc-devel
mailing list