Page 1 of 1

configure.sh failing to see mingw32-runtime 3.17 installed

Posted: 08 Jan 2014 00:49
by mvwhyatt
I am following https://wiki.videolan.org/Win32Compile/

Build environment is Debian 7.3 x32 (installed in VMPlayer 5.0.3).
Target is Windows x32.
Using VLC stable source 2.1.2: http://download.videolan.org/pub/videol ... 1.2.tar.xz
I have installed all required packages (or verified they're installed):
  • lua, libtool, automake, autoconf, autopoint, make, gettext, pkg-config, qt4-dev-tools, git, subversion, zip, p7zip, nsis, bzip2
I have downloaded VideoLAN's mingw32-runtime 3.17 and installed it:
http://people.videolan.org/~jb/debian/m ... an_all.deb

Code: Select all

dpkg --install mingw32-runtime_3.17.0-0videolan_all.deb
However no matter what I try I continue to be stuck on the step to configure the build:
https://wiki.videolan.org/Win32Compile/ ... _the_build

Code: Select all

../extras/package/win32/configure.sh --host=i586-mingw32msvc
Error is always:

Code: Select all

checking for broken mingw-runtime... configure: error: LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher! present
I have repeated the steps from the first bootstrap onward:

Code: Select all

cd ../contrib/win32/ ../bootstrap --host=i586-mingw32msvc make clean make prebuilt cd - ./bootstrap ../extras/package/win32/configure.sh --host=i586-mingw32msvc ... checking for broken mingw-runtime... configure: error: LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher! present
Why is configure.sh failing to pick up that mingw32-runtime 3.17.0-0 is installed?
I have examined configure.sh hoping to spot a misconfiguration, but the bash code is beyond my ability.

EXTRA NOTE:

gcc-mingw32 and binutils-mingw32 cannot both be installed as the instructions direct

I have installed gcc-mingw32:

Code: Select all

apt-get install gcc-mingw32
I did NOT install binutils-mingw32 because the package says it will uninstall gcc-mingw32. If I try to install them both in the same command line I get a you have requested an impossible situation message:

Code: Select all

apt-get install mingw32-binutils ... The following packages will be REMOVED: gcc-mingw32 The following NEW packages will be installed: mingw32-binutils

Code: Select all

apt-get install gcc-mingw32 mingw32-binutils ... gcc-mingw32 is already the newest version. Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: gcc-mingw32 : Conflicts: mingw32-binutils but 2.20-0.2 is to be installed E: Unable to correct problems, you have held broken packages.
I can only assume this is okay because when I installed gcc-mingw32 several bintuils were also installed as follows:

Code: Select all

apt-get install gcc-mingw32 ... Unpacking libstdc++6-4.6-dev (from .../libstdc++6-4.6-dev_4.6.3-14_i386.deb) ... Unpacking g++-4.6 (from .../g++-4.6_4.6.3-14_i386.deb) ... Unpacking binutils-mingw-w64-i686 (from .../binutils-mingw-w64-i686_2.22-8+2+b1_i386.deb) ... Unpacking binutils-mingw-w64-x86-64 (from .../binutils-mingw-w64-x86-64_2.22-8+2+b1_i386.deb) ... Unpacking mingw-w64-i686-dev (from .../mingw-w64-i686-dev_2.0.3-1_all.deb) ... Unpacking gcc-mingw-w64-base (from .../gcc-mingw-w64-base_4.6.3-14+8_i386.deb) ... Unpacking gcc-mingw-w64-i686 (from .../gcc-mingw-w64-i686_4.6.3-14+8_i386.deb) ... Unpacking g++-mingw-w64-i686 (from .../g++-mingw-w64-i686_4.6.3-14+8_i386.deb) ... Unpacking mingw-w64-x86-64-dev (from .../mingw-w64-x86-64-dev_2.0.3-1_all.deb) ... Unpacking gcc-mingw-w64-x86-64 (from .../gcc-mingw-w64-x86-64_4.6.3-14+8_i386.deb) ... Unpacking g++-mingw-w64-x86-64 (from .../g++-mingw-w64-x86-64_4.6.3-14+8_i386.deb) ... Unpacking gfortran-mingw-w64-i686 (from .../gfortran-mingw-w64-i686_4.6.3-14+8_i386.deb) ... Unpacking gfortran-mingw-w64-x86-64 (from .../gfortran-mingw-w64-x86-64_4.6.3-14+8_i386.deb) ... Unpacking gcc-mingw32 (from .../gcc-mingw32_4.6.3-14+8_all.deb) ...
This is my 4th try cross-compiling VLC for Windows. I have previously tried on Debian 7.2 x64, Ubuntu 12.04 x64, and Ubuntu 12.04 x32. In all cases I can get no further than the blasted configure step. In my humble opinion the instructions at https://wiki.videolan.org/Win32Compile/ need to be updated as they simply don't work.

How I solved this problem

Posted: 08 Jan 2014 19:51
by mvwhyatt
The solution proved to be simple enough, I removed gcc-mingw32 and then reinstalled mingw32-runtime.

Note: Removing gcc-mingw32 didn't work by itself, reinstalling mingw32-runtime was also required.

Note: I used apt-get autoremove gcc-mingw32 rather than apt-get remove gcc-mingw32. This removed all 14 packages originally installed with apt-get install gcc-mingw32.

Code: Select all

# sudo apt-get autoremove gcc-mingw32 Removing gcc-mingw32 ... Removing gfortran-mingw-w64-i686 ... Removing g++-mingw-w64-i686 ... Removing gcc-mingw-w64-i686 ... Removing binutils-mingw-w64-i686 ... Removing gfortran-mingw-w64-x86-64 ... Removing g++-mingw-w64-x86-64 ... Removing gcc-mingw-w64-x86-64 ... Removing binutils-mingw-w64-x86-64 ... Removing gcc-mingw-w64-base ... Removing mingw-w64-i686-dev ... Removing mingw-w64-x86-64-dev ... Removing g++-4.6 ... Removing libstdc++6-4.6-dev ... Processing triggers for man-db ... # sudo dpkg --install mingw32-runtime_3.17.0-0videolan_all.deb (Reading database ... 168182 files and directories currently installed.) Preparing to replace mingw32-runtime 3.17.0-0videolan (using mingw32-runtime_3.17.0-0videolan_all.deb) ... Unpacking replacement mingw32-runtime ... Setting up mingw32-runtime (3.17.0-0videolan) ...
This solved the problem I was having.
However, it did not result in configure.sh completing successfully. The error I now see is:

Code: Select all

configure: error: VLC is based on plugins. Shared libraries cannot be disabled.
But since this is a separate issue I will consider this problem solved.