VLC cross compiling for Windows, error in Wiki

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

VLC cross compiling for Windows, error in Wiki

Postby gepebril » 04 Jul 2013 19:35

Hi There,

I followed the Wiki here: http://wiki.videolan.org/Win32Compile
I wanted to compile Win32 version for Windows on Ubuntu srv 12.04 32bits via VMWare
I'm using mingw-w64

I entered the following commands:

Code: Select all

sudo apt-get update sudo apt-get upgrade sudo apt-get install lua5.1 libtool automake autoconf autopoint make gettext pkg-config qt4-dev-tools git subversion cmake cvs zip git clone git://git.videolan.org/vlc.git vlc cd vlc mkdir -p contrib/win32 cd contrib/win32 ../bootstrap --host=i686-w64-mingw32 make prebuilt ln -sf ../i586-mingw32msvc ../i686-w64-mingw32 cd - ./bootstrap mkdir win32 && cd win32 ../extras/package/win32/configure.sh --host=i686-w64-mingw32
I'm getting the error:
configure: error: LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!

The output of the last command:

Code: Select all

../extras/package/win32/configure.sh --host=i686-w64-mingw32 configure: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used checking build system type... i686-pc-linux-gnu checking host system type... i686-w64-mingw32 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for i686-w64-mingw32-strip... i686-w64-mingw32-strip checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... yes checking whether to enable maintainer-specific portions of Makefiles... yes checking for style of include used by make... GNU checking for i686-w64-mingw32-gcc... i686-w64-mingw32-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... yes checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-w64-mingw32-gcc accepts -g... yes checking for i686-w64-mingw32-gcc option to accept ISO C89... none needed checking dependency style of i686-w64-mingw32-gcc... gcc3 checking for i686-w64-mingw32-gcc option to accept ISO C99... -std=gnu99 checking how to run the C preprocessor... i686-w64-mingw32-gcc -std=gnu99 -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether i686-w64-mingw32-gcc -std=gnu99 and cc understand -c and -o together... yes checking for i686-w64-mingw32-g++... i686-w64-mingw32-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-w64-mingw32-g++ accepts -g... yes checking dependency style of i686-w64-mingw32-g++... gcc3 checking how to run the C preprocessor... i686-w64-mingw32-gcc -std=gnu99 -E checking for i686-w64-mingw32-gcc... i686-w64-mingw32-gcc checking whether we are using the GNU Objective C compiler... no checking whether i686-w64-mingw32-gcc accepts -g... no checking dependency style of i686-w64-mingw32-gcc... gcc3 checking dependency style of i686-w64-mingw32-gcc... (cached) gcc3 checking for egrep... (cached) /bin/grep -E checking whether make sets $(MAKE)... (cached) yes checking dependency style of i686-w64-mingw32-gcc -std=gnu99... gcc3 checking for desktop-file-validate... no checking for an ANSI C-conforming const... yes checking for inline... inline checking for C/C++ restrict keyword... __restrict checking for i686-w64-mingw32-windres... i686-w64-mingw32-windres checking for i686-w64-mingw32-objcopy... i686-w64-mingw32-objcopy checking for unix2dos... no checking for todos... no checking for 3rd party libraries path... not found checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by i686-w64-mingw32-gcc -std=gnu99... /usr/bin/i686-w64-mingw32-ld checking if the linker (/usr/bin/i686-w64-mingw32-ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/i686-w64-mingw32-nm -B checking the name lister (/usr/bin/i686-w64-mingw32-nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert i686-pc-linux-gnu file names to i686-w64-mingw32 format... func_convert_file_nix_to_w32 checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/i686-w64-mingw32-ld option to reload object files... -r checking for i686-w64-mingw32-objdump... i686-w64-mingw32-objdump checking how to recognize dependent libraries... (cached) pass_all checking for i686-w64-mingw32-dlltool... i686-w64-mingw32-dlltool checking how to associate runtime and link libraries... func_cygming_dll_for_implib checking for i686-w64-mingw32-ar... i686-w64-mingw32-ar checking for archiver @FILE support... @ checking for i686-w64-mingw32-strip... (cached) i686-w64-mingw32-strip checking for i686-w64-mingw32-ranlib... i686-w64-mingw32-ranlib checking command to parse /usr/bin/i686-w64-mingw32-nm -B output from i686-w64-mingw32-gcc -std=gnu99 object... ok checking for sysroot... no checking for i686-w64-mingw32-mt... no checking for mt... mt configure: WARNING: using cross tools not prefixed with host triplet checking if mt is a manifest tool... no checking for dlfcn.h... no checking for i686-w64-mingw32-as... i686-w64-mingw32-as checking for i686-w64-mingw32-dlltool... (cached) i686-w64-mingw32-dlltool checking for i686-w64-mingw32-objdump... (cached) i686-w64-mingw32-objdump checking for objdir... .libs checking if i686-w64-mingw32-gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no checking for i686-w64-mingw32-gcc -std=gnu99 option to produce PIC... -DDLL_EXPORT -DPIC checking if i686-w64-mingw32-gcc -std=gnu99 PIC flag -DDLL_EXPORT -DPIC works... yes checking if i686-w64-mingw32-gcc -std=gnu99 static flag -static works... yes checking if i686-w64-mingw32-gcc -std=gnu99 supports -c -o file.o... yes checking if i686-w64-mingw32-gcc -std=gnu99 supports -c -o file.o... (cached) yes checking whether the i686-w64-mingw32-gcc -std=gnu99 linker (/usr/bin/i686-w64-mingw32-ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... i686-w64-mingw32-g++ -E checking for ld used by i686-w64-mingw32-g++... /usr/bin/i686-w64-mingw32-ld checking if the linker (/usr/bin/i686-w64-mingw32-ld) is GNU ld... yes checking whether the i686-w64-mingw32-g++ linker (/usr/bin/i686-w64-mingw32-ld) supports shared libraries... yes checking for i686-w64-mingw32-g++ option to produce PIC... -DDLL_EXPORT -DPIC checking if i686-w64-mingw32-g++ PIC flag -DDLL_EXPORT -DPIC works... yes checking if i686-w64-mingw32-g++ static flag -static works... yes checking if i686-w64-mingw32-g++ supports -c -o file.o... yes checking if i686-w64-mingw32-g++ supports -c -o file.o... (cached) yes checking whether the i686-w64-mingw32-g++ linker (/usr/bin/i686-w64-mingw32-ld) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking for i686-w64-mingw32-windres... i686-w64-mingw32-windres checking for bash... /bin/bash checking if dolt supports this host... yes, replacing libtool checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for ld used by i686-w64-mingw32-gcc -std=gnu99... /usr/bin/i686-w64-mingw32-ld checking if the linker (/usr/bin/i686-w64-mingw32-ld) is GNU ld... yes checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... no checking for iconv... no, consider installing GNU libiconv checking for GNU gettext in libintl... no checking whether to use NLS... no checking for iconv... (cached) no, consider installing GNU libiconv checking for broken mingw-runtime... present configure: error: LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!
This is what dpkg -l | grep mingw outputs

Code: Select all

ii binutils-mingw-w64-i686 2.22-2ubuntu1+1 Cross-binutils for Win32 (x86) using MinGW-w64 ii g++-mingw-w64-i686 4.6.3-1ubuntu5+5ubuntu1 GNU C++ compiler for MinGW-w64 targeting Win32 ii gcc-mingw-w64-base 4.6.3-1ubuntu5+5ubuntu1 GNU Compiler Collection for MinGW-w64 (base package) ii gcc-mingw-w64-i686 4.6.3-1ubuntu5+5ubuntu1 GNU C compiler for MinGW-w64 targeting Win32 ii mingw-w64-dev 2.0.1-1 Development files for MinGW-w64 ii mingw-w64-tools 2.0.1-1 Development tools for 32- and 64-bit Windows
What could be the problem?

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 05 Jul 2013 01:08

If you try to walk the mingw32 route you enter the following problem when you try to do this step:
Debian/Ubuntu: run apt-get install gcc-mingw32 mingw32-binutils. Note that at least version 3.17 of Mingw32 is required, which Debian does not provide. You may obtain mingw32-runtime-3.17 here.
The .deb of the runtime goes fine. But when you execute:
run apt-get install gcc-mingw32 mingw32-binutils you get error/output:

Code: Select all

Reading package lists... Done Building dependency tree Reading state information... Done 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 : Depends: gcc-mingw-w64-i686 but it is not going to be installed Depends: g++-mingw-w64-i686 but it is not going to be installed Depends: gfortran-mingw-w64-i686 but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Wouldn't it be nice if the writer of the document stated on which platform he/she actually got it working.

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 05 Jul 2013 22:13

Tried the same today with Debian 7.0 (32 bits)
Also problems arise here the output to the following command:

Code: Select all

sudo apt-get install gcc-mingw32 mingw32-binutils

Code: Select all

Reading package lists... Done Building dependency tree Reading state information... Done 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.
Googling on that didn't give any helpful results

Maybe the title should be: 'How to do not.....' ;)

Ludrax
Big Cone-huna
Big Cone-huna
Posts: 568
Joined: 07 Jul 2010 14:28

error in Wiki

Postby Ludrax » 06 Jul 2013 00:41

can you access login page on that wiki?
An' if ain't broke, then don't try to fix it...

edwardw
Big Cone-huna
Big Cone-huna
Posts: 2346
Joined: 24 Jun 2012 23:36
VLC version: 3.0.0-git

Re: VLC cross compiling for Windows, error in Wiki

Postby edwardw » 06 Jul 2013 03:52

You should be able to obtain mingw-w64 3.0 from Debian section experimental, no?

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 06 Jul 2013 13:29

@ Edwardw
Will try in a few minutes.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC cross compiling for Windows, error in Wiki

Postby Jean-Baptiste Kempf » 08 Jul 2013 17:01

mingw-w64-dev is at version 2.0, instead of 3.0
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

edwardw
Big Cone-huna
Big Cone-huna
Posts: 2346
Joined: 24 Jun 2012 23:36
VLC version: 3.0.0-git

Re: VLC cross compiling for Windows, error in Wiki

Postby edwardw » 08 Jul 2013 18:42


gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 08 Jul 2013 21:18

Well,
new update.
When I follow the Wiki I get the following error:

Code: Select all

:~/vlc-2.0.7/contrib/win32$ ../bootstrap --host=i686-w64-mingw32

Code: Select all

Guessing build system... ../bootstrap: 1: ../bootstrap: cc: not found FAIL!
When I try to install the 3.0 .deb I get error

Code: Select all

sudo dpkg -i mingw-w64-dev_3.0~svn5915-1_all.deb

Code: Select all

(Reading database ... 41589 files and directories currently installed.) Preparing to replace mingw-w64-dev 3.0~svn5915-1 (using mingw-w64-dev_3.0~svn5915-1_all.deb) ... Unpacking replacement mingw-w64-dev ... dpkg: dependency problems prevent configuration of mingw-w64-dev: mingw-w64-dev depends on mingw-w64-x86-64-dev; however: Package mingw-w64-x86-64-dev is not installed. dpkg: error processing mingw-w64-dev (--install): dependency problems - leaving unconfigured Errors were encountered while processing: mingw-w64-dev
I'm using the Wheezy image from the though police 32 bit

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 08 Jul 2013 21:34

I managed to tackle the first issue

Code: Select all

Guessing build system... ../bootstrap: 1: ../bootstrap: cc: not found FAIL!
by installing gcc :)

edwardw
Big Cone-huna
Big Cone-huna
Posts: 2346
Joined: 24 Jun 2012 23:36
VLC version: 3.0.0-git

Re: VLC cross compiling for Windows, error in Wiki

Postby edwardw » 08 Jul 2013 22:25

For the second error you must pull in the dependencies as well. (It tells you what they are on the packages.debian.org page.)
Last edited by edwardw on 08 Jul 2013 22:26, edited 1 time in total.

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 09 Jul 2013 14:11

@Edwardw,

I've tried to install this module by installing all packages via .deb and installing as well all packages that Debian complained about that were missing on installing the others
But After being busy for 30 minutes the list of dependencies was only growing and I gave up. There must be a more automated way of getting this module and all of it's hunderds (a guess) of dependencies by an aptitude or apt-get way.?

edwardw
Big Cone-huna
Big Cone-huna
Posts: 2346
Joined: 24 Jun 2012 23:36
VLC version: 3.0.0-git

Re: VLC cross compiling for Windows, error in Wiki

Postby edwardw » 09 Jul 2013 14:24

If (and only if) you feel adventurous, you can add the unstable repository and install the package from Debian wheezy.

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 10 Jul 2013 14:46

Hi Edwardw,

Thanks for your reply, I don't fully understand what you mean by your remark,

Code: Select all

'if you feel adventurous'.
My goal is to get a working environment. Did you do it by all the manual work, or adding unstable repositories.

gepebril
Blank Cone
Blank Cone
Posts: 76
Joined: 22 Oct 2007 23:31

Re: VLC cross compiling for Windows, error in Wiki

Postby gepebril » 10 Jul 2013 18:43

@Edwardw,

I fixed the "issue" with the following commands

Code: Select all

wget "http://ftp.us.debian.org/debian/pool/main/m/mingw-w64/mingw-w64-dev_3.0~svn5915-1_all.deb" sudo dpkg -i mingw-w64-dev_3.0~svn5915-1_all.deb sudo apt-get install mingw-w64-x86-64-dev
After running the command:

Code: Select all

make prebuilt
I got result error on tghe end of logging, don't know if it a show stopper:

Code: Select all

mv: cannot move `i686-w64-mingw32' to `../i686-w64-mingw32': Directory not empty

edwardw
Big Cone-huna
Big Cone-huna
Posts: 2346
Joined: 24 Jun 2012 23:36
VLC version: 3.0.0-git

Re: VLC cross compiling for Windows, error in Wiki

Postby edwardw » 10 Jul 2013 20:51

Cool. If you miss any libraries just run a 'make' in the same directory that you ran 'make prebuilt' in.


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: Bing [Bot] and 50 guests