Page 1 of 1

LibVLC for Window compile issue under debian...

Posted: 25 Aug 2014 18:31
by wcoder
I try to compile libvlc for window (32 bits) under debian dev (32 bits) and i have an error :
make[4]: Entering directory '/home/wizard/Downloads/vlc/win32/modules'
CCLD libavcodec_plugin.la
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libavutil.a(time.o): In function `av_usleep':
/home/jb/vlc-2.2/contrib/mingw64/ffmpeg/libavutil/time.c:58: undefined reference to `nanosleep'
collect2: error: ld returned 1 exit status
Makefile:5373: recipe for target 'libavcodec_plugin.la' failed
make[4]: *** [libavcodec_plugin.la] Error 1
make[4]: Leaving directory '/home/wizard/Downloads/vlc/win32/modules'
Makefile:9852: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/wizard/Downloads/vlc/win32/modules'
Makefile:4597: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/wizard/Downloads/vlc/win32/modules'
Makefile:1951: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/wizard/Downloads/vlc/win32'
Makefile:1835: recipe for target 'all' failed
make: *** [all] Error 2

I use this proc from : https://wiki.videolan.org/Win32Compile :
start on : /home/wizard/Downloads/
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
cd /home/wizard/Downloads/vlc
./bootstrap
mkdir win32 && cd win32
export PKG_CONFIG_LIBDIR=/home/wizard/Downloads/vlc/contrib/vlc/contrib/i686-w64-mingw32/lib/pkgconfig
../extras/package/win32/configure.sh --host=i686-w64-mingw32
make << Error occur after a lot of line...

Do i forgot some things ?

I Try to add :
../configure --host=i686-w64-mingw32
make

But result is the same...

I Try to compile 3rd party too but it failed to :
$ mkdir -p contrib/win32
$ cd contrib/win32
$ ../bootstrap --host=i686-w64-mingw32
$ make fetch
$ make

Log:
make[3]: Entering directory '/home/wizard/Downloads/vlc/contrib/win32/fontconfig/fc-cache'
CC fc-cache.o
CCLD fc-cache.exe
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(autofit.o): In function `af_face_globals_new':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/afglobal.c:326: undefined reference to `hb_ft_font_create'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(autofit.o): In function `af_face_globals_free':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/afglobal.c:371: undefined reference to `hb_font_destroy'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(autofit.o): In function `af_get_coverage':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:126: undefined reference to `hb_font_get_face'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:128: undefined reference to `hb_set_create'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:129: undefined reference to `hb_set_create'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:130: undefined reference to `hb_set_create'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:131: undefined reference to `hb_set_create'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:139: undefined reference to `hb_ot_tags_from_script'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:165: undefined reference to `hb_ot_layout_collect_lookups'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:172: undefined reference to `hb_set_is_empty'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:175: undefined reference to `hb_ot_layout_collect_lookups'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:198: undefined reference to `hb_ot_layout_lookup_collect_glyphs'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:190: undefined reference to `hb_set_next'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:229: undefined reference to `hb_ot_layout_lookup_collect_glyphs'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:221: undefined reference to `hb_set_next'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:274: undefined reference to `hb_ot_layout_lookup_would_substitute'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:269: undefined reference to `hb_set_next'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:332: undefined reference to `hb_set_subtract'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:339: undefined reference to `hb_set_next'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:366: undefined reference to `hb_set_destroy'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:367: undefined reference to `hb_set_destroy'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:368: undefined reference to `hb_set_destroy'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:369: undefined reference to `hb_set_destroy'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(autofit.o): In function `af_get_char_index':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:433: undefined reference to `hb_buffer_create'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:443: undefined reference to `hb_font_set_scale'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:446: undefined reference to `hb_buffer_set_direction'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:447: undefined reference to `hb_buffer_set_script'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:450: undefined reference to `hb_buffer_add_utf32'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:453: undefined reference to `hb_shape'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:455: undefined reference to `hb_buffer_get_glyph_infos'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:456: undefined reference to `hb_buffer_get_glyph_positions'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/autofit/hbshim.c:473: undefined reference to `hb_buffer_destroy'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_init':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:308: undefined reference to `inflateInit2_'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_done':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:323: undefined reference to `inflateEnd'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_reset':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:352: undefined reference to `inflateReset'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_fill_output':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:426: undefined reference to `inflate'
/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `FT_Gzip_Uncompress':
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:715: undefined reference to `inflateInit2_'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:719: undefined reference to `inflate'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:722: undefined reference to `inflateEnd'
/home/wizard/Downloads/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:730: undefined reference to `inflateEnd'
collect2: error: ld returned 1 exit status
Makefile:474: recipe for target 'fc-cache.exe' failed
make[3]: *** [fc-cache.exe] Error 1
make[3]: Leaving directory '/home/wizard/Downloads/vlc/contrib/win32/fontconfig/fc-cache'
Makefile:561: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/wizard/Downloads/vlc/contrib/win32/fontconfig'
Makefile:444: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/wizard/Downloads/vlc/contrib/win32/fontconfig'
../../contrib/src/fontconfig/rules.mak:53: recipe for target '.fontconfig' failed
make: *** [.fontconfig] Error 2

Thanks for your help...

WCdr

Re: LibVLC for Window compile issue under debian...

Posted: 25 Aug 2014 20:08
by Jean-Baptiste Kempf
For the first part, you need to recompile ffmpeg. It's a bit hard.

I will try to fix it for you. Did you try a more recent contrib folder?

Re: LibVLC for Window compile issue under debian...

Posted: 26 Aug 2014 18:22
by wcoder
Thanks for your help for ffmpeg... my level is not enough to do this kind of things...

For your question : Did you try a more recent contrib folder?
Why not, but i don't know how doing ?

My goal is to generate libvlc dll and associated ".h\.a" for pair window\Mingw-w64...
It's for a custom player using OpenGL with out of tree module video and audio out modules.
I already do the job for Linux and Android, and except for the audio module under Android every things is working fine...

Thanks for your help,

WCdr

Re: LibVLC for Window compile issue under debian...

Posted: 02 Sep 2014 09:26
by XilasZ
I have some of those errors too when building win32 with i686-w64-mingw32 on ubuntu :

Code: Select all

make all-recursive make[1]: entrant dans le répertoire « /home/xilasz/vlc/win32 » Making all in compat make[2]: entrant dans le répertoire « /home/xilasz/vlc/win32/compat » make all-am make[3]: entrant dans le répertoire « /home/xilasz/vlc/win32/compat » make[3]: Rien à faire pour « all-am ». make[3]: quittant le répertoire « /home/xilasz/vlc/win32/compat » make[2]: quittant le répertoire « /home/xilasz/vlc/win32/compat » Making all in doc make[2]: entrant dans le répertoire « /home/xilasz/vlc/win32/doc » make[2]: Rien à faire pour « all ». make[2]: quittant le répertoire « /home/xilasz/vlc/win32/doc » Making all in po make[2]: entrant dans le répertoire « /home/xilasz/vlc/win32/po » make[2]: Rien à faire pour « all ». make[2]: quittant le répertoire « /home/xilasz/vlc/win32/po » Making all in share make[2]: entrant dans le répertoire « /home/xilasz/vlc/win32/share » make[2]: Rien à faire pour « all ». make[2]: quittant le répertoire « /home/xilasz/vlc/win32/share » Making all in src make[2]: entrant dans le répertoire « /home/xilasz/vlc/win32/src » GEN stamp-revision make all-am make[3]: entrant dans le répertoire « /home/xilasz/vlc/win32/src » make[3]: Rien à faire pour « all-am ». make[3]: quittant le répertoire « /home/xilasz/vlc/win32/src » make[2]: quittant le répertoire « /home/xilasz/vlc/win32/src » Making all in modules make[2]: entrant dans le répertoire « /home/xilasz/vlc/win32/modules » make all-recursive make[3]: entrant dans le répertoire « /home/xilasz/vlc/win32/modules » Making all in . make[4]: entrant dans le répertoire « /home/xilasz/vlc/win32/modules » CCLD liblibbluray_plugin.la /home/xilasz/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_init': /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:308: undefined reference to `inflateInit2_' /home/xilasz/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_done': /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:323: undefined reference to `inflateEnd' /home/xilasz/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_reset': /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:352: undefined reference to `inflateReset' /home/xilasz/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `ft_gzip_file_fill_output': /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:426: undefined reference to `inflate' /home/xilasz/vlc/contrib/i686-w64-mingw32/lib/libfreetype.a(ftgzip.o): In function `FT_Gzip_Uncompress': /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:715: undefined reference to `inflateInit2_' /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:719: undefined reference to `inflate' /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:722: undefined reference to `inflateEnd' /home/xilasz/vlc/contrib/win32/freetype/src/gzip/ftgzip.c:730: undefined reference to `inflateEnd' collect2: error: ld returned 1 exit status make[4]: *** [liblibbluray_plugin.la] Erreur 1 make[4]: quittant le répertoire « /home/xilasz/vlc/win32/modules » make[3]: *** [all-recursive] Erreur 1 make[3]: quittant le répertoire « /home/xilasz/vlc/win32/modules » make[2]: *** [all] Erreur 2 make[2]: quittant le répertoire « /home/xilasz/vlc/win32/modules » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/xilasz/vlc/win32 » make: *** [all] Erreur 2
According to google, inflateInit2_ is part of zlib.
I just disable qt & chromaprint, but all the other contribs are building fine, including freetype and zlib.

Temporary solution...

Posted: 02 Sep 2014 21:47
by wcoder
After one week, i found a solution... base on "Win32Compile"
I don't known if it's the best solution... it may not... there's a lot of warning and some error...but it's work... ~o~
Test done under debian dev with wine and an avi with small bit-rate...
Replace "/home/wizard/Downloads" by your base path
I highlight change.

Exe, dll, Headers and libs are on : vlc/win32/vlc-3.0.0-git/

I don't have the time to restart from scratch to check... yet... if you try please reply on this thread for error or success.

I upload the result ( 400.3 Mb after unpack ) http://6bxhu0p4z8.1fichier.com/

WCdr

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
erase : i686-w64-mingw32 on /home/wizard/Downloads/vlc/contrib/
download : ftp://ftp.videolan.org/pub/videolan/con ... 07.tar.bz2
unpack to : /home/wizard/Downloads/vlc/contrib
cd /home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/
../../contrib/src/change_prefix.sh

./bootstrap
mkdir win32 && cd win32
export PKG_CONFIG_LIBDIR=/home/wizard/Downloads/vlc/contrib/i686-w64-mingw32/lib/pkgconfig
../configure --host=i686-w64-mingw32 --disable-libgcrypt
./compile

make
make package-win-common

Re: LibVLC for Window compile issue under debian...

Posted: 08 Sep 2014 11:20
by XilasZ
freetype issue is now fixed, you can pull and rebuild your contribs.