Portál AbcLinuxu, 3. května 2025 10:36
Tak jsem si řekl, že už jsem dlouho nic nenapsal sem do blogu. Napadlo mi, že by se třeba někomu mohlo hodit vidět můj způsob kompilace MPlayeru.
Stáhnu si zdrojové kódy MPlayeru, někam rozbalím a do hlavního stromu nakopíruji následující scriptík make_mplayer.sh
. Než jej spustím, tak ještě stáhnu poslední verzi libFame, rozbalím její strom do hlavního stromu zdrojáků MPlayeru a vytvořím v něm na ni symbolický odkaz libfame
. Binární kodeky mám v /opt/mplayer/codecs/
a MPlayer chci mít v adresáři /opt/mplayer/
, plus také nějaké ty další se u mě také nalézají v /opt/
.
#!/bin/bash make clean # kompilace libfame a vytvoření jednoho nutného symlinku cd libfame/ make clean ./configure --enable-mmx --enable-sse make ln -fs src/.libs/libfame.a . cd .. read -p "Hit Enter to continue or Ctrl-C to break." || exit 0 # kompilace mplayeru CFLAGS= ./configure \ --enable-gui \ --enable-menu \ --enable-largefiles \ --enable-libfame \ --enable-vorbis \ --enable-theora \ --with-codecsdir=/opt/mplayer/codecs \ --with-win32libdir=/opt/mplayer/codecs \ --enable-live \ --with-livelibdir=/opt/live \ --enable-xmms \ --with-xmmslibdir=/usr/lib \ --with-xmmsplugindir=/usr/lib/xmms \ --prefix=/opt/mplayer \ &> make.mplayer.configure.log && \ less make.mplayer.configure.log read -p "Hit Enter to continue or Ctrl-C to break." || exit 0 make exit 0
No, a pak už zbývá jen make install
a rozšířit $PATH
o adresář /opt/mplayer/bin/
.
Závěrem bych podotknul, že některé knihovna potřebné pro kompilaci MPlayeru mám již v systému. On totiž MPlayer je co se knihoven týče poněkud nenažranější (momentálně jsem se dostal na číslo 49, ale věřím, že to brzo ještě zvednu, protože bych chtěl, aby můj MPlayer přehrál opravdu vše co by mohl). Kdo mi pomůže dát dohromady úplný seznam závislostí MPlayeru s tím, že hlavním kritériem má být nikoli aby přehrával co nejrychleji, ale aby přehrával co nejvíce věcí? Pište do reakcí...
$ ldd /opt/mplayer/bin/mplayer libmad.so.0 => /usr/lib/libmad.so.0 (0x40016000) libtheora.so.0 => /usr/local/lib/libtheora.so.0 (0x4003b000) libogg.so.0 => /usr/lib/libogg.so.0 (0x4005a000) libdivxdecore.so.0 => /usr/local/lib/libdivxdecore.so.0 (0x4005f000) libmp3lame.so.0 => /usr/local/lib/libmp3lame.so.0 (0x400c5000) libm.so.6 => /lib/libm.so.6 (0x40148000) libpng.so.3 => /usr/lib/libpng.so.3 (0x4016a000) libz.so.1 => /usr/lib/libz.so.1 (0x4019a000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x401ab000) libasound.so.2 => /usr/lib/libasound.so.2 (0x401c8000) libdl.so.2 => /lib/libdl.so.2 (0x40278000) libpthread.so.0 => /lib/libpthread.so.0 (0x4027b000) libxmms.so.1 => /usr/lib/libxmms.so.1 (0x402cc000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x402d9000) libtermcap.so.2 => /lib/libtermcap.so.2 (0x4033e000) libcdda_interface.so.0 => /usr/lib/libcdda_interface.so.0 (0x40342000) libcdda_paranoia.so.0 => /usr/lib/libcdda_paranoia.so.0 (0x40358000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40361000) libnsl.so.1 => /lib/libnsl.so.1 (0x40418000) libungif.so.4 => /usr/lib/libungif.so.4 (0x4042d000) libfontconfig.so.1 => /usr/X11R6/lib/libfontconfig.so.1 (0x40434000) libenca.so.0 => /usr/local/lib/libenca.so.0 (0x4045b000) libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x4047e000) libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x4059c000) libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x405cd000) libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x405d0000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x405f1000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x405ff000) libaa.so.1 => /usr/lib/libaa.so.1 (0x406c8000) libGL.so.1 => /usr/lib/libGL.so.1 (0x406e1000) libXxf86dga.so.1 => /usr/X11R6/lib/libXxf86dga.so.1 (0x4074f000) libXv.so.1 => /usr/X11R6/lib/libXv.so.1 (0x40755000) libXxf86vm.so.1 => /usr/X11R6/lib/libXxf86vm.so.1 (0x4075a000) libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x4075f000) libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x40763000) libvgagl.so.1 => /usr/lib/libvgagl.so.1 (0x407df000) libvga.so.1 => /usr/lib/libvga.so.1 (0x407ec000) libslang.so.1 => /usr/lib/libslang.so.1 (0x4083f000) libncurses.so.5 => /lib/libncurses.so.5 (0x408b1000) libesd.so.0 => /usr/lib/libesd.so.0 (0x408f0000) libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x408fb000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x4091f000) libc.so.6 => /lib/libc.so.6 (0x40927000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x40a56000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40a59000) libgpm.so.1 => /lib/libgpm.so.1 (0x40a7a000) libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x40a80000) libnvidia-tls.so.1 => /usr/lib/libnvidia-tls.so.1 (0x41171000)
Hm. Tak tohle byl asi ten nejnudnější a nejnesmyslnější přízpěvek do blogu, který si lze vůbec představit. Ale od toho tu ty blogy máme, ne?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.