Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

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.
jiunn.liu
New Cone
New Cone
Posts: 6
Joined: 23 Nov 2012 07:13

Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby jiunn.liu » 13 Dec 2012 13:08

Thanks all help, I have successfully built the Win32 32bit VLC by the following steps.

Please also refer to viewtopic.php?f=32&t=101489#p342496 and http://wiki.videolan.org/Win32Compile

1. Install ubuntu-12.10

2. $> sudo apt-get install ua5.1 libtool automake autoconf autopoint make gettext pkg-config git subversion cmake cvs zip p7zip-full nsis bzip2

3. $> sudo apt-get install gcc-mingw-w64 g++-mingw-w64

4. $> sudo dpkg -i mingw-w64-i686-dev_3.0~svn5408-1_all.deb
- You must use mingw-w64 3.0 or later (Please note that the binary size is about 7M)
- http://packages.debian.org/experimental ... 4-i686-dev

5. $> git clone git://git.videolan.org/vlc.git vlc

6. $> cd vlc

7. $> mkdir -p contrib/win32
$> cd contrib/win32
$> ../bootstrap --host=i686-w64-mingw32
$> make prebuilt

8. $> cd /usr/bin
$> sudo ln -s g++-4.6 g++
- Create symbolic link for g++, which will be used in Qt4 compilation

9. Back to your vlc source directory

10. $> cd contrib/win32
$> make .qt4
- Remake the Qt4 since the attached prebuilt is too old.

11. $> cd vlc/contrib/i686-w64-mingw32/bin
$> rm -rf moc uic rcc

12. Back to your vlc source directory

13. $> ./bootstrap

14. $> mkdir win32 && cd win32

15. $> ../extras/package/win32/configure.sh --host=i686-w64-mingw32

16. $> make
- Compile the vlc source codes

17. $> make package-win32
- Generate the package for vlc installation

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: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby Jean-Baptiste Kempf » 13 Dec 2012 13:12

Seems about what I do for the main builds, indeed.
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.

fkl
New Cone
New Cone
Posts: 1
Joined: 14 Dec 2012 00:49

Re: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby fkl » 14 Dec 2012 00:55

I can't seem to get around this step on ubuntu 12.04 and mint 13.

4. sudo dpkg -i mingw-w64-i686-dev_3.0~svn5408-1_all.deb

sudo dpkg -i mingw-w64-dev_3.0~svn5408-1_all.deb
(Reading database ... 319239 files and directories currently installed.)
Preparing to replace mingw-w64-dev 2.0.1-1 (using mingw-w64-dev_3.0~svn5408-1_all.deb) ...
Unpacking replacement mingw-w64-dev ...
dpkg: dependency problems prevent configuration of mingw-w64-dev:
mingw-w64-dev depends on mingw-w64-i686-dev; however:
Package mingw-w64-i686-dev is not installed.
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
fayyaz@fayyazubuntu:~/Downloads$ sudo apt-get install mingw-w64-x86-64-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package mingw-w64-x86-64-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mingw-w64-x86-64-dev' has no installation candidate

===========

Would really appreciate any pointers. I did add deb http://ftp.us.debian.org/debian experimental main to my /etc/apt/sources.list but to no avail

Lancelot825
New Cone
New Cone
Posts: 1
Joined: 25 Jul 2013 18:27

Re: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby Lancelot825 » 25 Jul 2013 18:53

I have tried compiling vlc 2.0.7 using these instructions on a Ubuntu 12.10 32-bit OS however when I get to the command "../extras/package/win32/configure.sh --host=i686-w64-mingw32" I get this error:

Code: Select all

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... desktop-file-validate 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... /home/lance/vlc-2.0.7/contrib/i686-w64-mingw32 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 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 GCC... /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... yes checking for working iconv... guessing yes checking how to link with libiconv... /home/lance/vlc-2.0.7/contrib/i686-w64-mingw32/lib/libiconv.a checking for GNU gettext in libintl... yes checking whether to use NLS... yes checking where the gettext function comes from... external libintl checking how to link with libintl... /home/lance/vlc-2.0.7/contrib/i686-w64-mingw32/lib/libintl.a /home/lance/vlc-2.0.7/contrib/i686-w64-mingw32/lib/libiconv.a checking for iconv... (cached) yes checking for working iconv... (cached) guessing yes checking how to link with libiconv... /home/lance/vlc-2.0.7/contrib/i686-w64-mingw32/lib/libiconv.a checking for iconv declaration... extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); checking for broken mingw-runtime... ok checking for opendir in -lmingwex... yes checking for opendir in -lmingw32... yes checking if $CC accepts -mms-bitfields... yes checking for buggy GNU/libc versions... not present checking for shared objects suffix... .dll checking whether nanosleep is declared... yes checking for daemon... no checking for fcntl... no checking for fstatvfs... no checking for fork... no checking for getenv... yes checking for getpwuid_r... no checking for if_nameindex... no checking for if_nametoindex... no checking for isatty... yes checking for lstat... no checking for memalign... no checking for mmap... no checking for openat... no checking for pread... no checking for posix_fadvise... no checking for posix_madvise... no checking for setlocale... yes checking for stricmp... yes checking for strnicmp... yes checking for strptime... no checking for uselocale... no checking for atof... yes checking for atoll... yes checking for dirfd... no checking for fdopendir... no checking for flockfile... no checking for fsync... no checking for getdelim... no checking for getpid... yes checking for gmtime_r... no checking for inet_pton... no checking for lldiv... yes checking for localtime_r... no checking for nrand48... no checking for rewind... yes checking for setenv... no checking for strcasecmp... yes checking for strcasestr... no checking for strdup... yes checking for strlcpy... no checking for strncasecmp... yes checking for strndup... no checking for strnlen... yes checking for strsep... no checking for strtof... yes checking for strtok_r... no checking for strtoll... yes checking for swab... yes checking for tdestroy... no checking for fdatasync... no checking for working strcoll... no checking for accept4... no checking for pipe2... no checking for eventfd... no checking for vmsplice... no checking for sched_getaffinity... no checking for library containing poll... no checking for struct pollfd... no checking for library containing connect... no checking for socklen_t in sys/socket.h... yes checking for struct sockaddr_storage... yes checking for library containing getaddrinfo... no checking for getopt_long... yes checking for cos in -lm... yes checking for lrintf in -lm... yes checking for library containing dlopen... no checking for strncasecmp in strings.h... yes checking search.h usability... yes checking search.h presence... yes checking for search.h... yes checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking for strings.h... (cached) yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking xlocale.h usability... no checking xlocale.h presence... no checking for xlocale.h... no checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/ioctl.h usability... no checking sys/ioctl.h presence... no checking for sys/ioctl.h... no checking for sys/stat.h... (cached) yes checking arpa/inet.h usability... no checking arpa/inet.h presence... no checking for arpa/inet.h... no checking netinet/udplite.h usability... no checking netinet/udplite.h presence... no checking for netinet/udplite.h... no checking sys/eventfd.h usability... no checking sys/eventfd.h presence... no checking for sys/eventfd.h... no checking for net/if.h... no checking for sys/mount.h... no checking for ssize_t... yes checking for i686-w64-mingw32-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for MINIZIP... no checking unzip.h usability... no checking unzip.h presence... no checking for unzip.h... no checking for ntohl in sys/param.h... no checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wall... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wextra... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wsign-compare... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wundef... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wpointer-arith... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wbad-function-cast... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wwrite-strings... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wmissing-prototypes... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Wvolatile-register-var... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -Werror-implicit-function-declaration... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -pipe... yes checking if i686-w64-mingw32-g++ accepts -Wall... yes checking if i686-w64-mingw32-g++ accepts -Wextra... yes checking if i686-w64-mingw32-g++ accepts -Wsign-compare... yes checking if i686-w64-mingw32-g++ accepts -Wundef... yes checking if i686-w64-mingw32-g++ accepts -Wpointer-arith... yes checking if i686-w64-mingw32-g++ accepts -Wvolatile-register-var... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -ffast-math... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -funroll-loops... yes checking if i686-w64-mingw32-gcc -std=gnu99 accepts -fomit-frame-pointer... yes checking __attribute__ ((aligned ())) support... 64 checking for __attribute__((packed))... yes checking execinfo.h usability... no checking execinfo.h presence... no checking for execinfo.h... no checking for backtrace... no checking if i686-w64-mingw32-gcc -std=gnu99 groks MMX intrinsics... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks MMX inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks MMX EXT inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE2 intrinsics... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE2 inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE3 inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSSE3 inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE4.1 inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE4.2 inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks SSE4A inline assembly... yes checking if i686-w64-mingw32-gcc -std=gnu99 groks 3D Now! inline assembly... yes checking whether i686-w64-mingw32-gcc -std=gnu99 accepts -mtune=pentium2... yes checking for LUA... no configure: WARNING: No package 'lua5.1' found, trying lua >= 5.1 instead checking for LUA... yes checking for luac... /home/lance/vlc-2.0.7/contrib/i686-w64-mingw32/bin/luac checking for LIBPROXY... no checking for live555 version 1324598400 or later... yes checking for main in -lliveMedia_pic... no checking for main in -lliveMedia... yes checking for DC1394... no configure: WARNING: Library libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0 needed for dc1394 was not found checking for DV... no configure: WARNING: Library libraw1394 >= 2.0.1 libavc1394 >= 0.5.3 needed for dv was not found checking for DVDREAD... yes checking for DVDNAV... yes checking for dvdnav_get_video_resolution in -ldvdnav... yes checking for dvdnav_describe_title_chapters in -ldvdnav... yes checking dshow.h usability... yes checking dshow.h presence... yes checking for dshow.h... yes checking for BLURAY... yes checking libsmbclient.h usability... no checking libsmbclient.h presence... no checking for libsmbclient.h... no checking linux/videodev2.h usability... no checking linux/videodev2.h presence... no checking for linux/videodev2.h... no checking sys/videoio.h usability... no checking sys/videoio.h presence... no checking for sys/videoio.h... no checking DeckLinkAPIDispatch.cpp usability... no checking DeckLinkAPIDispatch.cpp presence... no checking for DeckLinkAPIDispatch.cpp... no configure: WARNING: Blackmagic DeckLink SDI include files not found checking for GNOMEVFS... no configure: WARNING: Library gnome-vfs-2.0 needed for gnomevfs was not found checking for cdrom_msf0 in linux/cdrom.h... no checking for scsireq in sys/scsiio.h... no checking for ioc_toc_header in sys/cdio.h... no checking for LIBCDDB... yes checking for Linux DVB version 5... no checking for DVBPSI... yes checking gme/gme.h usability... yes checking gme/gme.h presence... yes checking for gme/gme.h... yes checking for SID... yes checking sidplay/builders/resid.h usability... yes checking sidplay/builders/resid.h presence... yes checking for sidplay/builders/resid.h... yes checking for OGG... yes checking for MUX_OGG... yes checking for SHOUT... yes checking ebml/EbmlVersion.h usability... yes checking ebml/EbmlVersion.h presence... yes checking for ebml/EbmlVersion.h... yes checking for libebml version >= 1.0.0... yes checking matroska/KaxVersion.h usability... yes checking matroska/KaxVersion.h presence... yes checking for matroska/KaxVersion.h... yes checking for libmatroska version >= 1.0.0... yes checking matroska/KaxAttachments.h usability... yes checking matroska/KaxAttachments.h presence... yes checking for matroska/KaxAttachments.h... yes checking for main in -lebml_pic... no checking for main in -lebml... yes checking for LIBMODPLUG... yes checking mpc/mpcdec.h usability... yes checking mpc/mpcdec.h presence... yes checking for mpc/mpcdec.h... yes checking for libcrystalhd/libcrystalhd_if.h... no checking for libcrystalhd/bc_dts_defs.h... no configure: WARNING: "Could not find CrystalHD development headers" checking mad.h usability... yes checking mad.h presence... yes checking for mad.h... yes checking for mad_bit_init in -lmad... yes checking if linker supports -Bsymbolic... yes checking for AVCODEC... yes configure: error: libavcodec versions 55 and later are not supported yet.
I don't know what version of libavcodec I have installed or how to check the version but i believe it is libavcodec53.
In another attempt I tried compiling and installing FFMpeg version 2.0 in order to get the version of libavcodec newer than 55 (version 55.18.102 according to http://www.ffmpeg.org/download.html#release_2.0) but I got the exact same error.

Could someone please shed some light on what could be causing this issue?

number78
New Cone
New Cone
Posts: 1
Joined: 16 Sep 2013 08:15

Re: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby number78 » 16 Sep 2013 08:18

I've run through the instructions in step 1, only requiring one change - the install of a 32-Bit library of luac (sudo apt-get install lua5.2:i386)

However, now, when I try make or ./compile - i come to this point

/usr/bin/i686-w64-mingw32-ld: cannot find librar_plugin.rc.o: No such file or directory

this is when make enters /home/usrname/vlc/win32/modules/access/

I notice all the other dir's in this process GEN then CCLD - whereas this librar doesn't gen to create a .o file... what have i done wrong?

erkable
New Cone
New Cone
Posts: 5
Joined: 16 Jan 2014 23:08

Re: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby erkable » 16 Jan 2014 23:14

Thanks for posting these instructions. I am able to get to successfully reach the point of compiling the VLC source. When I do that, I get this error:

CCLD libswscale_plugin.la
Creating library file: .libs/libswscale_plugin.dll.a
/home/emc/vlc/contrib/i686-w64-mingw32/lib/libavutil.a(time.o):time.c:(.text+0x86): undefined reference to `_nanosleep'
collect2: ld returned 1 exit status
make[4]: *** [libswscale_plugin.la] Error 1
make[4]: Leaving directory `/home/emc/vlc/win32/modules'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/emc/vlc/win32/modules'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/emc/vlc/win32/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/emc/vlc/win32'
make: *** [all] Error 2


Any ideas on how to define a reference for nanosleep?

Thanks

brunoc
New Cone
New Cone
Posts: 3
Joined: 05 Aug 2009 17:42

Re: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby brunoc » 17 Jan 2014 19:49

Thanks all, this post got me successfully passed cross compilation on Ubuntu 13.10 64bit (VirtualBox VM)

1) NANOSLEEP ISSUE:

I also got the nanosleep issue due apparently to outdated ffmpeg(libavutil) that I was able to solve by recompiling ffmpeg.
After which got also stuck with error with precompiled version of gnutls, recompiling solved it too.

Here are the additional steps for compiling ffmpeg and gnutls. Note that yasm (or nasm) is required by zlib, itslef required by ffmpeg:

Code: Select all

sudo apt-get install yasm cd contrib/win32 make .ffmpeg make .gnutls
2) Half-Broken Windows Executable


Next roadblock: the compile version does not run in graphical mode, only command line on windows and crashes when dealing with RTSP/mp4 stream.
Image
My next steps are to recompile QT4 as suggested previously in this post as well as recompile liv555 unless someone has another suggestion?

Thanks!

brunoc
New Cone
New Cone
Posts: 3
Joined: 05 Aug 2009 17:42

Re: Ubuntu 12.10 Cross-compilation Win32 VLC Successful Case

Postby brunoc » 17 Jan 2014 20:48

Just a quick followup: recompiling QT4 and Live555 did the trick. Hurray!


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 18 guests