Yes I Think, this is what I took and what I did : (You will notice some 'changes' because this morning the compilation decided to work better
)
Cygwin install to fit "at best" the recommendations shown on
http://wiki.videolan.org/Win32CompileCy ... to_install
Downloaded the source package VLC 0.8.6d (
http://www.videolan.org/vlc/download-sources.html the .tar.bz2)
Downloaded the source package contrib-20070412-win32-bin-gcc-3.4.5-only.tar.bz2 (I follow the link into INSTALL.win32 text file)
Downloaded the x264-snapshot-20070412-2245.tar.bz2 from
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
(My final goal is to recompile x264)
Extracted contrib package tar xjvf contrib-20070412-win32-bin-gcc-3.4.5-only.tar.bz2 -C /
HERE THERE ARE SOME STRANGE THINGS : It extracts to /usr/win32-branch (This has to be /usr/win32, hasn't it ?)
Nevermind, I link /usr/win32 to point to /usr/win32-branch .....
I also had a problem when configuring with live555 (--with-live555-tree parameter problem?), so I create a link from /live.com to /usr/win32/live.com
Configuring/Compiling x264 : Okay, but some instability while compiling (I think there's a problem with cygwin actual version, I submited this to cygwin.com and I'm waiting for answers....). Finally it's successful and I copy libx264.a to /usr/win32/lib and x264.h to /usr/win32/include
Modified source code vlc/modules/access_output/file.c and vlc/modules/access_output/udp.c (like I already said)
Also modified source code vlc/modules/mux/mpeg/pes.c in the same way
Configuring VLC, here's the command lines I use this morning (disabling freetype!):
Code: Select all
./toolbox --distclean
./bootstrap
CONTRIB_TREE=/usr/win32 \
PATH=${CONTRIB_TREE}/bin:$PATH \
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
./configure \
--enable-sdl --with-sdl-config-path=${CONTRIB_TREE}/bin \
--disable-gtk \
--disable-mkv \
--enable-nls \
--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac --with-ffmpeg-zlib \
--enable-faad \
--enable-flac \
--enable-theora \
--with-wx-config-path=${CONTRIB_TREE}/bin \
--with-freetype-config-path=${CONTRIB_TREE}/bin \
--with-fribidi-config-path=${CONTRIB_TREE}/bin \
--enable-live555 --with-live555-tree=${CONTRIB_TREE}/live.com \
--enable-caca --with-caca-config-path=${CONTRIB_TREE}/bin \
--with-xml2-config-path=${CONTRIB_TREE}/bin \
--with-dvdnav-config-path=${CONTRIB_TREE}/bin \
--disable-cddax \
--disable-vcdx \
--enable-goom \
--disable-gnomevfs \
--enable-x264 \
--enable-optimizations \
--enable-release \
--enable-sse --enable-mmx \
--disable-dvdread \
--disable-freetype \
--disable-fribidi \
--disable-httpd \
--disable-activex \
--disable-mozilla \
--disable-x11 \
--disable-xvideo \
--disable-glx \
--disable-xinerama \
--disable-directfb \
--disable-skins2 \
--disable-oss \
--disable-alsa \
--enable-waveout \
--disable-macosx-audio \
--enable-wxwidgets \
--enable-wingdi \
--disable-dca \
--disable-xosd \
--disable-hal \
--disable-update-check
Before asking, yes! I tried --disable-optimizations and --enable-debug
and many other arguments
VLC Compilation, I tried "./compile" (the nice version ^^) and "make" ..... Often stops without any reason (cygwin problem?) but when I launch ./compile many times (to continue compilation), I've finally the error (today at 11:00am) :
make[2]: Entering directory `/cygdrive/d/VLCx264/vlc'
/bin/sh ./libtool --tag=CXX --mode=link g++ -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -L/usr/win32/lib -o vlc.exe vlc-vlc.o share/vlc_win32_rc.o src/libvlc.a ./modules/misc/memcpy/libmemcpymmx.a ./modules/video_chroma/libi420_rgb_mmx.a ./modules/video_chroma/libi422_yuy2_mmx.a ./modules/video_chroma/libi420_ymga_mmx.a ./modules/video_chroma/libi420_yuy2_mmx.a ./modules/misc/memcpy/libmemcpymmxext.a ./modules/misc/memcpy/libmemcpy3dn.a ./modules/demux/liblive555.a ./modules/mux/mpeg/libmux_ts.a -L/usr/local/lib -Wl,--exclude-libs,libunicows.a -lunicows -lkernel32 -L/usr/win32/lib -liconv -L/home/videolan/jb/0.8.6-bugfix/extras/contrib/lib /usr/win32/lib/libintl.a -L/home/videolan/jb/0.8.6-bugfix/extras/contrib/lib /home/videolan/jb/0.8.6-bugfix/extras/contrib/lib/libiconv.a -lws2_32 -lnetapi32 -lwinmm -mwindows -L/usr/win32/lib -L/live.com/UsageEnvironment -lUsageEnvironment -L/live.com/groupsock -lgroupsock -L/live.com/BasicUsageEnvironment -lBasicUsageEnvironment -L/live.com/liveMedia -lliveMedia -lws2_32 -ldvbpsi
g++ -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -o vlc.exe vlc-vlc.o share/vlc_win32_rc.o -Wl,--exclude-libs -Wl,libunicows.a -mwindows -L/usr/win32/lib src/libvlc.a ./modules/misc/memcpy/libmemcpymmx.a ./modules/video_chroma/libi420_rgb_mmx.a ./modules/video_chroma/libi422_yuy2_mmx.a ./modules/video_chroma/libi420_ymga_mmx.a ./modules/video_chroma/libi420_yuy2_mmx.a ./modules/misc/memcpy/libmemcpymmxext.a ./modules/misc/memcpy/libmemcpy3dn.a ./modules/demux/liblive555.a ./modules/mux/mpeg/libmux_ts.a -L/usr/local/lib -lunicows -lkernel32 -L/home/videolan/jb/0.8.6-bugfix/extras/contrib/lib /usr/win32/lib/libintl.a /home/videolan/jb/0.8.6-bugfix/extras/contrib/lib/libiconv.a -lnetapi32 -lwinmm -L/live.com/UsageEnvironment -lUsageEnvironment -L/live.com/groupsock -lgroupsock -L/live.com/BasicUsageEnvironment -lBasicUsageEnvironment -L/live.com/liveMedia -lliveMedia -lws2_32 /home/videolan/jb/0.8.6-bugfix/extras/contrib/lib/libdvbpsi.a
src/libvlc.a(libvlc_a-libvlc.o):libvlc.c:(.text+0xaadd): undefined reference to `_announce_HandlerDestroy'
src/libvlc.a(libvlc_a-unicode.o):unicode.c:(.text+0x16): undefined reference to `_vlc_current_charset'
src/libvlc.a(libvlc_a-configuration.o):configuration.c:(.text+0x1f7e): undefined reference to `_i18n_atof'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x518): undefined reference to `_vlc_current_charset'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x830): undefined reference to `_sout_AnnounceRegister'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x83b): undefined reference to `_sout_AnnounceRegisterSDP'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x846): undefined reference to `_sout_AnnounceUnRegister'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x851): undefined reference to `_sout_AnnounceSessionCreate'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x85c): undefined reference to `_sout_AnnounceSessionDestroy'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x867): undefined reference to `_sout_AnnounceMethodCreate'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x1354): undefined reference to `___vlc_fix_readdir_charset'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x16fb): undefined reference to `_us_atof'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x1706): undefined reference to `_us_strtod'
src/libvlc.a(libvlc_a-modules.o):modules.c:(.text+0x175b): undefined reference to `_GetFallbackEncoding'
src/libvlc.a(libvlc_a-vlm.o):vlm.c:(.text+0x194c): undefined reference to `_i18n_atof'
src/libvlc.a(libvlc_a-subtitles.o):subtitles.c:(.text+0x4e7): undefined reference to `___vlc_fix_readdir_charset'
collect2: ld returned 1 exit status
make[2]: *** [vlc.exe] Error 1
make[2]: Leaving directory `/cygdrive/d/VLCx264/vlc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/d/VLCx264/vlc'
make: *** [all] Error 2
Oooo yeah it almost did it
j-b, could you just compile VLC starting from scratch (i.e. new cygwin installation) and tell me if you meet the same problems ?