Difference between revisions of "UnixCompile"
Materthron (talk | contribs) (spell-checking, polish and removed outdated link) |
|||
Line 3: | Line 3: | ||
==Get the source== | ==Get the source== | ||
− | Start by [[GetTheSource| getting the source]], using FTP for releases, or using [[Git]] for development. | + | Start by [[GetTheSource|getting the source]], using FTP for releases, or using [[Git]] for development. |
If your are using the release, download source code and extract the archive and go into your VLC directory. | If your are using the release, download source code and extract the archive and go into your VLC directory. | ||
cd /path/to/your/vlc/folder/ | cd /path/to/your/vlc/folder/ | ||
− | If you are using the [[Git]] version, start by | + | If you are using the [[Git]] version, start by bootstrapping your VLC. |
cd /path/to/your/vlc/folder/ | cd /path/to/your/vlc/folder/ | ||
./bootstrap | ./bootstrap | ||
== Get the 3rd party libs == | == Get the 3rd party libs == | ||
− | Now you can start to configure VLC. Remember to first take a look at ./configure --help. Take a good look at that enormous list of options. | + | Now you can start to configure VLC. Remember to first take a look at <tt>./configure --help</tt>. Take a good look at that enormous list of options. |
=== General info === | === General info === | ||
− | It is very important that you install and enable all the 3rd party libraries that you will be needing and let me tell you that that are a lot. If you don't install them you will end up with an application that well..... essentially doesn't do | + | It is very important that you install and enable all the 3rd party libraries that you will be needing and let me tell you that that are a lot. If you don't install them you will end up with an application that well..... essentially doesn't do anything. |
− | + | See [[Contrib_Status|here]] for a complete list. | |
− | There are some very important | + | There are some very important dependencies: gettext (nls) for international support (required), libdvbpsi for mpeg files and streams support, libmad for mp3 decoding, libmpeg2 for mpeg 1 and 2 video support, ffmpeg for support of mpeg4 and many other types of video, liba52 for dolby (AC3) sound, alsa for proper audio output, xvideo for proper video output, wxWidgets (wxGTK) for proper GUI support and libdvd* for DVD support. |
'''Be careful!''' Some of the libraries are better not to be installed (at all, beware of old installations) and should be linked to directly. These are mostly ffmpeg and liveMedia. | '''Be careful!''' Some of the libraries are better not to be installed (at all, beware of old installations) and should be linked to directly. These are mostly ffmpeg and liveMedia. | ||
Line 26: | Line 26: | ||
===Get'em=== | ===Get'em=== | ||
− | There are a few ways to get those libs. You should use only one method at | + | There are a few ways to get those libs. You should use only one method at a time: |
− | * Using your distribution or portage system, in order to get all the needed libs (preferred | + | * Using your distribution or portage system, in order to get all the needed libs (this is the preferred way): |
− | + | For example on Debian or Ubuntu: | |
− | # apt-get build-dep vlc | + | # sudo apt-get build-dep vlc |
* Using the contribs system in VLC's sources | * Using the contribs system in VLC's sources | ||
Line 39: | Line 39: | ||
This should download and build a lot of those libs for you. | This should download and build a lot of those libs for you. | ||
− | * Read the [[Contrib_Status|list]], | + | * Read the [[Contrib_Status|list]], download them and build by hand. |
== Configuration == | == Configuration == | ||
Line 45: | Line 45: | ||
You need to tweak your configure line. | You need to tweak your configure line. | ||
− | ./configure is used to check | + | <tt>./configure</tt> is used to check whether your system is able to compile VLC. |
− | + | Also you choose the functionalities of your build. | |
% ./configure --help | % ./configure --help | ||
will show you the various options | will show you the various options | ||
===Special libs === | ===Special libs === | ||
− | Use --with-ffmpeg-tree=path/to/ffmpeg/source/tree and --with-livedotcom-path=path/to/livemedia/source/tree in connection with | + | Use <tt>--with-ffmpeg-tree=path/to/ffmpeg/source/tree</tt> and <tt>--with-livedotcom-path=path/to/livemedia/source/tree</tt> in connection with <tt>--enable-ffmpeg and --enable-livedotcom</tt>. |
− | For ffmpeg it is also important to tell VLC if you compiled ffmpeg with faac and/or lame support. Use the --with-ffmpeg-faac and --with-ffmpeg-mp3lame configure flags. | + | For ffmpeg it is also important to tell VLC if you compiled ffmpeg with faac and/or lame support. Use the <tt>--with-ffmpeg-faac</tt> and <tt>--with-ffmpeg-mp3lame</tt> configure flags. |
=== Final configuration === | === Final configuration === | ||
Line 58: | Line 58: | ||
% ./configure --prefix=/path/to/install/folder/ | % ./configure --prefix=/path/to/install/folder/ | ||
− | This is an example of a typical VLC configure line | + | This is an example of a typical VLC configure line: |
% ./configure --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-ffmpeg --with-ffmpeg-mp3lame --enable-mad --enable-libdvbpsi --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --with-live555-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --enable-alsa --disable-kde --enable-qt --enable-wxwindows --enable-ncurses --enable-release | % ./configure --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-ffmpeg --with-ffmpeg-mp3lame --enable-mad --enable-libdvbpsi --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --with-live555-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --enable-alsa --disable-kde --enable-qt --enable-wxwindows --enable-ncurses --enable-release | ||
− | [[User:J-b# | + | [[User:J-b#VLC_configure_line|Here]] is another. |
== Compilation == | == Compilation == | ||
Line 72: | Line 72: | ||
To remove files created during the compile (optional) type: | To remove files created during the compile (optional) type: | ||
% make clean | % make clean | ||
− | |||
== Notes == | == Notes == | ||
Line 80: | Line 79: | ||
=== Debian === | === Debian === | ||
Debian users who want to compile VLC should install the packages below. | Debian users who want to compile VLC should install the packages below. | ||
− | Note: | + | Note: If you just want to ''use'' VLC media player then simply install the package vlc (<tt>sudo apt-get install vlc</tt>) - the unstable version is normally very up-to-date (and stable is, er, stable ;-) |
* [http://packages.debian.org/unstable/libdevel/libavcodec-dev libavcodec-dev] | * [http://packages.debian.org/unstable/libdevel/libavcodec-dev libavcodec-dev] | ||
* [http://packages.debian.org/unstable/libdevel/libpostproc-dev libpostproc-dev] | * [http://packages.debian.org/unstable/libdevel/libpostproc-dev libpostproc-dev] | ||
Line 87: | Line 86: | ||
== Version == | == Version == | ||
This HOWTO has been originally written by [mailto:hartman_at_videolan_dot_org Derk-Jan Hartman]. | This HOWTO has been originally written by [mailto:hartman_at_videolan_dot_org Derk-Jan Hartman]. | ||
+ | |||
It has been modified and updated by [[User:J-b| Jean-Baptiste Kempf]]. | It has been modified and updated by [[User:J-b| Jean-Baptiste Kempf]]. | ||
− | + | It was spelled-checked and sudoed by [[User:materthron|materthron]]. | |
− | + | ||
[[Category:Building]] | [[Category:Building]] |
Revision as of 18:08, 23 June 2008
Contents
Prepare your environment
VLC uses gcc, automake, autoconf and friends for compilation. Make sure they are up to date and usable for your system.
Get the source
Start by getting the source, using FTP for releases, or using Git for development.
If your are using the release, download source code and extract the archive and go into your VLC directory.
cd /path/to/your/vlc/folder/
If you are using the Git version, start by bootstrapping your VLC.
cd /path/to/your/vlc/folder/ ./bootstrap
Get the 3rd party libs
Now you can start to configure VLC. Remember to first take a look at ./configure --help. Take a good look at that enormous list of options.
General info
It is very important that you install and enable all the 3rd party libraries that you will be needing and let me tell you that that are a lot. If you don't install them you will end up with an application that well..... essentially doesn't do anything. See here for a complete list.
There are some very important dependencies: gettext (nls) for international support (required), libdvbpsi for mpeg files and streams support, libmad for mp3 decoding, libmpeg2 for mpeg 1 and 2 video support, ffmpeg for support of mpeg4 and many other types of video, liba52 for dolby (AC3) sound, alsa for proper audio output, xvideo for proper video output, wxWidgets (wxGTK) for proper GUI support and libdvd* for DVD support.
Be careful! Some of the libraries are better not to be installed (at all, beware of old installations) and should be linked to directly. These are mostly ffmpeg and liveMedia.
There are also some libraries that are no longer being maintained and which we advise not to use. These include the gtk, gnome and kde GUIs, the glide and mga modules.
Get'em
There are a few ways to get those libs. You should use only one method at a time:
- Using your distribution or portage system, in order to get all the needed libs (this is the preferred way):
For example on Debian or Ubuntu:
# sudo apt-get build-dep vlc
- Using the contribs system in VLC's sources
% cd extras/contrib; % ./bootstrap; % make;
This should download and build a lot of those libs for you.
- Read the list, download them and build by hand.
Configuration
You need to tweak your configure line.
./configure is used to check whether your system is able to compile VLC. Also you choose the functionalities of your build.
% ./configure --help
will show you the various options
Special libs
Use --with-ffmpeg-tree=path/to/ffmpeg/source/tree and --with-livedotcom-path=path/to/livemedia/source/tree in connection with --enable-ffmpeg and --enable-livedotcom. For ffmpeg it is also important to tell VLC if you compiled ffmpeg with faac and/or lame support. Use the --with-ffmpeg-faac and --with-ffmpeg-mp3lame configure flags.
Final configuration
If you want to install VLC into another directory, run
% ./configure --prefix=/path/to/install/folder/
This is an example of a typical VLC configure line:
% ./configure --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-ffmpeg --with-ffmpeg-mp3lame --enable-mad --enable-libdvbpsi --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --with-live555-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --enable-alsa --disable-kde --enable-qt --enable-wxwindows --enable-ncurses --enable-release
Here is another.
Compilation
Compile VLC:
% make
As root (type "su" to change to root account):
# make install
To remove files created during the compile (optional) type:
% make clean
Notes
Cygwin
Compiling on Cygwin may be broken from time to time.
Debian
Debian users who want to compile VLC should install the packages below. Note: If you just want to use VLC media player then simply install the package vlc (sudo apt-get install vlc) - the unstable version is normally very up-to-date (and stable is, er, stable ;-)
Version
This HOWTO has been originally written by Derk-Jan Hartman.
It has been modified and updated by Jean-Baptiste Kempf.
It was spelled-checked and sudoed by materthron.