NOTE: This is a preliminary version of the guide, (call it 0.0.1 or something), so it focuses mainly on the commands necessary. Also be aware that some of the files may have been updated since this was composed. Begin: mkdir /usr/src/mplayer # This is to seperate mplayer and related tools from the rest of your system, mostly for organisations sake. cd /usr/src/mplayer export LDFLAGS=-L/usr/local/lib # Setting this now means that it is there for all packages as we go through the build wget -c http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre4.tar.bz2 tar xjvf MPlayer-1.0pre4.tar.bz2 wget -c http://www.mplayerhq.hu/MPlayer/releases/win32-beta/dhahelperwin/withmtrr/dhahelper.sys mv dhahelper.sys MPlayer-1.0pre4/libdha/dhahelperwin wget -c http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20040427.tar.bz2 tar xjvf essential-20040427.tar.bz2 mkdir /usr/local/lib/codecs mv essential-20040427/* /usr/local/lib/codecs rmdir essential-20040427 wget -c http://www.videolan.org/vlc/dx7headers.tgz pushd /usr/include; tar xzvf ../src/mplayer/win32-dx7headers.tgz; popd LAME is used for mencoder. Parts may be required for mplayer (I don't think they are, but I'm going on memory, and unsure. I'll confirm when I update this doc, hopefully fairly soon.) wget -c http://heanet.dl.sourceforge.net/sourceforge/lame/lame-3.96.tar.gz tar xzvf lame-3.96.tar.gz cd lame-3.96 ./configure --enable-nasm --enable-expopt=full make make install cd .. Now we start getting into the optional stuff.. Output formats, input formats, and so on. wget -c http://heanet.dl.sourceforge.net/sourceforge/aa-project/aalib-1.4rc4.tar.gz tar xzvf aalib-1.4rc4.tar.gz cd aalib-1.4.0 ./configure make make install cd .. wget -c http://heanet.dl.sourceforge.net/sourceforge/fame/libfame-0.9.1.tar.gz tar xzvf libfame-0.9.1.tar.gz cd libfame-0.9.1 ./configure --enable-sse make make install cd .. wget -c http://heanet.dl.sourceforge.net/sourceforge/fribidi/fribidi-0.10.4.tar.bz2 tar xjvf fribidi-0.10.4.tar.bz2 cd fribidi-0.10.4 ./configure --enable-memopt make make install cd .. wget -c http://files.xvid.org/downloads/xvidcore-1.0.1.tar.bz2 tar xjvf xvidcore-1.0.1.tar.bz2 cd xvidcore-1.0.1/build/generic ./configure make make install cd .. wget -c http://www.libsdl.org/release/SDL-1.2.7.tar.gz tar xzvf SDL-1.2.7.tar.gz wget -c http://www.libsdl.org/extras/win32/cygwin/directx-devel.tar.gz # Note that this is needed IN ADDITION to the dx7headers downloaded previously. pushd /usr; tar xzvf src/mplayer/directx-devel.tar.gz; popd ./configure --with-x --enable-video-aalib make make install cd .. wget -c http://www.xiph.org/ao/src/libao-0.8.5.tar.gz tar xzvf libao-0.8.5 cd libao-0.8.5 ./configure --with-x make make install cd.. wget -c http://www.vorbis.com/files/1.0.1/unix/libogg-1.1.tar.gz tar xzvf libogg-1.1.tar.gz cd libogg-1.1.tar.gz autoreconf --install --force --verbose ./configure make make install cd .. wget -c http://www.vorbis.com/files/1.0.1/unix/libvorbis-1.0.1.tar.gz tar xzvf libvorbis-1.0.1.tar.gz cd libvorbis-1.0.1 ./configure --enable-docs make make install cd .. wget -c http://download.tangent.org/libID3-0.7.tar.gz tar xzvf libID3-0.7.tar.gz wget -c http://ares.penguinhosting.net/~equate/cygwin/libID3-0.7-cygwin-patch.diff cd libID3 patch -p0 < ../libID3-0.7-cygwin-patch.diff make install cd .. wget -c http://heanet.dl.sourceforge.net/sourceforge/flac/flac-1.1.0.tar.gz tar xzvf flac-1.1.0.tar.gz cd flac-1.1.0.tar.gz ./configure --disable-asm-optimizations make make install cd .. wget -c http://www.speex.org/download/speex-1.1.5.tar.gz tar xzvf speex-1.1.5.tar.gz cd speex-1.1.5 ./configure --enable-epic-48k make make install cd .. wget -c http://www.vorbis.com/files/1.0.1/unix/vorbis-tools-1.0.1.tar.gz tar xzvf vorbis-tools-1.0.1.tar.gz cd vorbis-tools-1.0.1 ./configure make You may get the following error during the ogg123 stage of make: error cannot find -ldl In this case, please do the following: cd ogg123 gcc -O20 -fsigned-char -o ogg123.exe audio.o buffer.o callbacks.o cfgfile_options.o cmdline_options.o file_transport.o format.o http_transport.o ogg123.o oggvorbis_format.o playlist.o status.o transport.o vorbis_comments.o flac_format.o easyflac.o speex_format.o -L/usr/local/lib ../share/libutf8.a ../share/libgetopt.a .libs/libimp-cygvorbisfile-3.a .libs/libimp-cygvorbis-0.a .libs/libimp-cygcurl-2.a -lssl -lcrypto -lgdi32 -lz .libs/libimp-cygintl-2.a -L/usr/lib .libs/libimp-cygiconv-2.a /usr/local/lib/libOggFLAC.a /usr/local/lib/libFLAC.a .libs/libimp-cygogg-0.a /usr/local/lib/libspeex.a -lwinmm /usr/local/lib/libao.a -lpthread -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib cd .. make make install cd .. I will also be working to expand this. I hope to include libtheora, and possible others. ./configure --enable-dynamic-plugins --enable-shared-pp --enable-bl --enable-fribidi --enable-menu --enable-live --enable-largefiles --enable-gui make make install Your mplayer build is now complete. Please add fonts and skins for the gui (if you want to use it) as described elsewhere in the mplayer documentation. Chris / EqUaTe