Friday, December 27, 2013

cross compiling VLC Warp for windows

VLC wiki recommends cross-compiling from Linux as the preferred route to compile for Windows. But trying to compile the vlc-warp cloned from github, ran into lots of dependency problems. My Kubuntu 12.04 was borked by installing .deb which depended on newer libc versions, so gave it up and installed Ubuntu 13.10. 13.10 initially had older libraries like libc and so on, but after updating, the libraries required were updated to newer ones.

Then, followed the Win32 cross compile guide on the VLC wiki, and the build went through. I followed the "Preferred method" of MingW on Linux. First installed the build tools from the Unix compile wiki,
sudo apt-get install git libtool build-essential pkg-config autoconf
and then did apt-get install for all the packages mentioned on the cross compile guide. I used a tar.gz with a backup of the git clone of the vlc-warp directory which I had got for the Linux compile, and the backup of the vlc-contrib-i686-w64-mingw32-latest.tar.bz2 pre-built contribs which were got earlier while doing make prebuilt for the contribs. The make itself took only around 20 minutes, just like for the Linux make.

Unfortunately, after doing the make,
make package-win-common

make[3]: *** No rule to make target `/usr/include/wine/windows/stdole2.idl', needed by `stdole2.tlb'.  Stop.
make[3]: Leaving directory `/home/hari/vlc-warp-2.1/win32/npapi-vlc/activex'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/hari/vlc-warp-2.1/win32/npapi-vlc'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/hari/vlc-warp-2.1/win32/npapi-vlc'
make: *** [stamp-npapi-build] Error 2

I guess a solution to this would have to be a separate post.

Edit on 6 Jan 2014: The comments below helped solve this issue. Installing wine-dev package solved it.


  1. Well, try to install the development package from wine :
    sudo apt-get install wine1.4-dev

  2. You need to install wine libraries and header the use of following command.
    "sudo apt-get install wine-dev"

  3. Thanks, Wook Hyun and Anonymous. installing wine-dev solved my issue. I have edited the VideoLAN W32 compile wiki also to reflect this.

  4. Don't know if you could offer some advice. I'm trying to get this to cross-compile myself with little success. I can get the latest build of VLC to build both for Linux and Windows and I can get VLC Warp to build for Linux, but when it come to cross compiling this it just won't do it. I'm guessing things have moved on enough in the last 12 months to stop things working.

    I'm wanting to experiment with warping live video streams and with the right mesh file I think this will do it. If you could provide any pointers on areas to look at (or maybe an executable) then that would be great. I'll not fill this thread up with all the details but just ask and I'll provide how far I have got.


  5. You can of course get an executable from Paul Bourke,

    Sorry, I am a bit busy with other work at the moment, so would not be able to spend too much time on your compile problem. But if you post the error message(s), if something strikes me, will let you know.