Howto build VLC 1.0.0-git in Ubuntu in less than 5 commands.

3 March 2009

Since building VLC is easier and easier now, I am compelled to improve my HOWTOS. Here is one for Ubuntu, that can easily adapt to Debian.

This is not a complete and detailed post, but just a summary. If you need more details, take the Build on Intrepid HOWTO.

Get all you need

sudo apt-get build-dep vlc && sudo apt-get install libtool build-essential automake1.10 git-core

Get the source

git clone git://git.videolan.org/vlc.git

Go

cd vlc && ./bootstrap

mkdir build && cd build && ../configure --disable-nls --enable-qt4

make

Done.

Jean-Baptiste Kempf

Comments

  1. On 25 May 25250, 3:12 by vish

    autoreconf: Entering directory `.’
    autoreconf: running: true –force
    autoreconf: running: aclocal -I m4 –force -I m4
    configure.ac:442: error: m4_undefine: undefined macro: AC_DEPLIBS_CHECK_METHOD
    configure.ac:442: the top level
    autom4te: /usr/bin/m4 failed with exit status: 1
    aclocal: /usr/bin/autom4te failed with exit status: 1
    autoreconf: aclocal failed with exit status: 1

  2. On 24 May 24240, 11:35 by sandeha

    For down load I followed as following

    1.git clone git://git.videolan.org/vlc.git
    2.c d vlc && ./bootstrap
    after ./bootstrap follwoing message is observed

    ./bootstrap: 1: autoreconf: not found
    I think because of this I could not following step
    mkdir build && cd build && ../configure –disable-nls –enable-qt4
    Any body can help me?

  3. On 15 May 15150, 3:57 by Jean-Baptiste Kempf

    @Kathy: simple, take the git version, not the 1.1.10 tag, the fix is straightforward.

  4. On 15 May 15150, 9:46 by kathy

    hello.when i compile the VLC1.1.0,i success.but when i input the command:make,occurs some errors as follow:
    make[4]: Entering directory /home/vlc-1.1.10/modules/audio\_output' CC libpulse\_plugin\_la-pulse.lo pulse.c: In function 'Open': pulse.c:276: error: 'p\_this' undeclared (first use in this function) pulse.c:276: error: (Each undeclared identifier is reported only once pulse.c:276: error: for each function it appears in.) make[4]: *** [libpulse\_plugin\_la-pulse.lo] Error 1 make[4]: Leaving directory /home/vlc-1.1.10/modules/audio_output’
    make[3]: *** [all] Error 2
    make[3]: Leaving directory /home/vlc-1.1.10/modules/audio\_output' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory /home/vlc-1.1.10/modules’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/vlc-1.1.10’
    make: *** [all] Error 2.
    i feel very comfused.please tell how to solve this problem.thank you.

  5. On 11 May 11110, 8:28 by Computer Help Suppor

    cd vlc && ./bootstrap -please explain clearly.

  6. On 24 May 24240, 9:41 by saglik

    Is there an equivalent “make install” for this. I have tried but it seems to be broken.
    Thanks.
    http://www.bloghayat.com

  7. On 19 May 19190, 4:47 by kidmose

    thx JBK :-)

  8. On 15 May 15150, 11:20 by JBK

    @Kasper: apt-get install lua5.1

  9. On 14 May 14140, 12:46 by Kasper

    After:
    mkdir build && cd build && ../configure –disable-nls –enable-qt4
    I get at the end this:
    checking for LUA… yes
    checking for luac… no
    configure: error: Could not find the LUA byte compiler.

  10. On 13 May 13130, 3:17 by mekan

    Yeah ditto on the make install comment. My current (8.10 Ubuntu) vlc version stays at 0.94 while in the build/bin dir the new 1.00 vls exists. Make install does a lot of stuff but doesn’t install the new version.

    http://blogmekan.com

  11. On 6 May 6060, 8:21 by Guru

    Hey thanks for the nice article! good blog, goodday…

  12. On 6 May 6060, 7:56 by pv-gs150 battery

    Afterwards ‘sudo make install’ should finish fine and VLC will be startable from any directory by just typing ‘vlc’ into the terminal. It will not be necessary anymore to run ./vlc from the build directory, and actually, the bloated 400MB git-directory can be removed. VLC seems to run fine now and also appears to find everything it needs to run and work, as opposed to installing it without those extra options,

  13. On 27 May 27270, 11:07 by NareZ

    great tuto, helped me to solve some issues :)

  14. On 10 May 10100, 3:39 by Andreas_HB

    Hello J.B.

    It seems you are one of the best involved VLC developers and I have to say, Vidolan especially VLC-Player is a great project.

    I thought it is a good Idea to participare in the developement but I have to say I am a Newbie in working within so large software projects.

    So what I have done first, was to to try to build VLC following exactly the howto’s on the Videolan site in three ways:

    1. Win XP 32 with MinGW/Msys
    2. Win XP 32 with Cygwin
    3. Ubuntu Linux (9.04)

    meanwhile after solving some issues in all I’ll get through bootstrap and configure in all three ways

    -> For everyody who get also already stucked at bootstrap: take care of the line endings in Win (CR,LF) and Ix (LF). Some GNU autotools are very sensitive about that, so bootsprap only worked after some corrections I did with Notepad2 (google about) in a few makro files (error message: expecting line feed…).

    With Msys I ‘ve got still a warning about AUTOOPTS. I don’t know if this is the right way, but I deleted all .m4 files before doing again the update steps regarding the GNU autotools and loading the VLC project as in the howto. Then I went through without warnings.

    But - and there comes my QUESTION: - when I proceed to make, I get so many compiler warnings regarding deprecated definitions of variables, comparison between signed and unsigned and so on. Can ignore the warnings for a stable version ?

    Till now I havn’t got a self compiled working VLC like it can be downloaded as install from the Videolan site. I wonder how it was made. Do you or anybody else know?

    With MinGW and also Cygwin the make stucks with errors in the last steps (exact message follows) and with Linux I am still working on finding or upgrading all the needed Librarys which are warned about.

    I’ll keep you informed or do you have any help to go faster ?

    regards
    Andreas_HB

  15. On 13 May 13130, 1:40 by Facebook

    Hey, git is terribly slow getting like 1-3kbps average.

    Is there an alternative mirror i can download from ?

    http://bosdefter.com

  16. On 18 May 18180, 12:53 by tech

    think he was refering to all the commands. The && actualy separate commands, and are interpreted as “if” statements.
    http://yarismak.com

  17. On 24 May 24240, 2:43 by ccpiiz

    in case someone wanted to run all the commands from a script then they will need a semicolon after each command so that the shell runs them sequentially, i.e.

    ./bootstrap ;
    ../configure —disable-nls —enable-qt4 ;
    make

  18. On 19 May 19190, 7:37 by nick

    new requirements seems to be:
    sudo apt-get install libxcb-shm0-dev libxcb-xv0-dev libxcb-keysyms0-dev

    note those are the corresponding package names for ubuntu 9.04

  19. On 16 May 16160, 5:04 by Ricardo

    Sorry,

    It’s just that on the forum answers tend to take a long time… ;-)

    Strange, I already have libmodplug-dev installed.

  20. On 16 May 16160, 11:40 by JBK

    @Ricardo: install libmodplug-dev

    And give more messages for issues. Issues should be on the forum.

  21. On 16 May 16160, 6:38 by Ricardo

    Ok so I just built 0.9.9 on Ubuntu.

    Doesn’t 0.9.9 support accessing rtmp?

    I get an error

    no access module matched “rtmp”

  22. On 16 May 16160, 12:30 by Ricardo

    Ugh… :-(

    I’m having compile errors now. I guess Ubuntu 8.0.4 isn’t very happy with this.

    Does anyone have pre-built binaries of 0.9.9 for Ubuntu Hardy?

    In file included from ../../../include/vlc_common.h:496,
    from ../../../modules/demux/mod.c:33:
    ../../../include/vlc_mtime.h:80: warning: âerrorâ attribute directive ignored
    ../../../include/vlc_mtime.h:90: warning: âwarningâ attribute directive ignored
    ../../../include/vlc_mtime.h:108: warning: âerrorâ attribute directive ignored
    ../../../modules/demux/mod.c: In function âControlâ:
    ../../../modules/demux/mod.c:321: warning: cast from function call of type âmtime_tâ to non-matching type âdoubleâ
    ../../../modules/demux/mod.c:370: error: implicit declaration of function âModPlug_NumSamplesâ
    ../../../modules/demux/mod.c:371: error: implicit declaration of function âModPlug_NumInstrumentsâ
    ../../../modules/demux/mod.c:372: error: implicit declaration of function âModPlug_NumPatternsâ
    ../../../modules/demux/mod.c:373: error: implicit declaration of function âModPlug_NumChannelsâ
    ../../../modules/demux/mod.c:384: error: implicit declaration of function âModPlug_GetMessageâ
    ../../../modules/demux/mod.c:384: warning: assignment makes pointer from integer without a cast
    ../../../modules/demux/mod.c:410: warning: comparison between signed and unsigned
    ../../../modules/demux/mod.c:413: error: implicit declaration of function âModPlug_InstrumentNameâ
    ../../../modules/demux/mod.c:422: warning: comparison between signed and unsigned
    ../../../modules/demux/mod.c:425: error: implicit declaration of function âModPlug_SampleNameâ
    make[5]: *** [libmod_plugin_la-mod.lo] Error 1

  23. On 15 May 15150, 11:32 by JBK

    @ You have trouble because you are compiling 1.1, that has new dependencies… :D

    Anyway, yes, –disable-xcb should help you a lot :D

  24. On 15 May 15150, 11:09 by Ricardo

    Now I’m having a similar problem with XCB_KEYSYMS_CFLAGS and I don’t see which libxcb that applies to… :-(

  25. On 15 May 15150, 10:58 by Ricardo

    Thanks JBK.

    But in any case, there’s no easy way to build vlc without X support?

  26. On 15 May 15150, 10:46 by JBK

    sudo apt-get install libxcb-shm0-dev

  27. On 15 May 15150, 10:39 by Ricardo

    Hi,

    I find this very useful. I’m trying to build the latest VLC under ubuntu Hardy, but what I really want is vlc-nox as I’m only using it in a server environment.

    What’s the best way to build vlc for that environment?

    Right now I’m getting an error

    checking for XCB_SHM… configure: error: Package requirements (xcb-shm) were not met:

    No package ‘xcb-shm’ found

    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.

    Alternatively, you may set the environment variables XCB_SHM_CFLAGS
    and XCB_SHM_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.

    Thanks for your help

  28. On 13 May 13130, 10:05 by Arite

    Do you mean http://repo.or.cz/r/vlc.git ?

    The “w” version (gitweb) doesn’t seem to work with the git clone command.

  29. On 13 May 13130, 10:30 by JBK

    Yes, check on http://repo.or.cz/w/vlc.git

  30. On 13 May 13130, 6:31 by boglio

    Hey, git is terribly slow getting like 1-3kbps average.

    Is there an alternative mirror i can download from ?

  31. On 4 May 4040, 10:11 by NoXxX

    I’d like to add install commands after these all:
    sudo make install && sudo ldconfig

  32. On 25 May 25250, 4:28 by ratbag

    This actually fixed all of the issues I had with VLC 0.9.9a under Jaunty. Sure it took me almost an hour from start to finish, but it’s worth it with Netbook Remix.
    Separate windows for video and control when everything is maximized gets to be a severe pain.
    This worked flawlessly for me, with the use of the revision posted by uux. Thanks!

  33. On 17 May 17170, 7:01 by ad

    Thanks nanomir, adding the repositories as you advised saved me having to build VLC from scratch.

    I got errors the first time I attempted the install , but got round them by removing libvlccore0 in Synaptic and attempting the install again. Must have been some conflict - it work great now :)

  34. On 6 May 6060, 1:20 by nanomir

    Hi all,
    I didn’t have much luck compiling (raop.c:211: undefined reference to ‘gpg_strerror’ - with libgcrypt-dev and libgpg-error-dev present) - and I was doing that, only because I couldn’t find a pre-built deb vlc binary for Ubuntu Intrepid…

    But I finally found https://launchpad.net/~tim-kornhamm… - just add the intrepid sources.list entry from that page in repositories, and install 1.0.0-git20090225~ppa1~intrepid2 from there.. It works for me :)

  35. On 30 May 30300, 6:49 by black

    Hey jb,

    Did try “ogl” and other available outputs, all results the same…limited fullscreen window size 800x624.

    Jaunty-beta available as of a few days ago, installed it, ran you’re command set, and “fullscreen” works out-of-the-box. So, does appear that alpha was deficient in some way. Some issues still remain but of little concern atm, at least I can work w “git” the way it is. Again, thanks for the compile method, beautiful stuff!

  36. On 29 May 29290, 1:05 by JBK

    @black: the issue is in your Xserver and in your Xinerama drivers, not in VLC, I am afraid.

    Try to use OpenGL output.

  37. On 27 May 27270, 8:19 by black

    Hey jb,

    Did the whole process over again today: clean jaunty-a6 install, then ran your command set. After compile finished without error, used only the default qt interface, cli from the build directory.

    1. monitor resolution 1360x768 pixels.
    2. viceo displays fine in default gui, used several different *.avi files.
    3. enabling fullscreen (button or doubleclick on vout), a second window appears, measured 800x624 pixels, no borders, no titlebar, playing video. When buttoned or doubleclicked again, this window quits and video goes to default gui.
    4. when mousing over this window in item 3, controller appears at the bottom.center of monitors native resolution display as should, outside of the actual video window, which never fills the monitors display.
    5. only related messages that appear, which don’t show up as colored text error/warnings:

    QPainter::begin: Paint device returned engine == 0, type: 1
    QPainter::begin: Paint device returned engine == 0, type: 1
    [????????] x11 video output error: X11 request 42.0 failed with error code 8:
    BadMatch (invalid parameter attributes)
    QPainter::begin: Paint device returned engine == 0, type: 1

    or

    ./vlc -vvv

    [0x8e96048] qt4 video output debug: Qt4: Fullscreen state changed
    [0x8e96048] qt4 video output debug: Qt: Entering Fullscreen
    [0x8e96048] qt4 video output debug: Qt4: Fullscreen state changed
    [0x8e96048] qt4 video output debug: Qt: Entering Fullscreen
    [0x8e96048] xvideo video output debug: entering fullscreen mode
    [0x8e96048] xvideo video output debug: X 0/14 Y 0/87
    QPainter::begin: Paint device returned engine == 0, type: 1
    [0x8e96048] xvideo video output debug: using XFree Xinerama extension
    [0x8e96048] xvideo video output debug: requested screen number invalid (-1/1)
    [0x8e96048] main video output warning: late picture skipped (8838 > -55)
    [0x8e96048] main video output warning: late picture skipped (50546 > -55)
    [????????] x11 video output error: X11 request 42.0 failed with error code 8:
    BadMatch (invalid parameter attributes)
    QPainter::begin: Paint device returned engine == 0, type: 1

    Please don’t waste your valuable time on this, I am running an alpa, with release in April, just thought you may’ve seen this problem before. I got over-excited when the compile went so nicely.

  38. On 26 May 26260, 1:29 by JBK

    @black: what is exactly your issue?

  39. On 25 May 25250, 10:16 by black

    Hey jb,

    Just discovered this page yesterday, ran the above instructions on a fresh “jaunty-alpha6 install, and to my surprise all went very well. Never compiled vlc for ’nix before and had many failed compiles in “xp”, way back when, so figured doing it on ’nix would be a bad joke, but…as “make” took 14 minutes (no errors, pre-make took at least twice that), so, your method cranked and the finished product accepted skins…YEOW!!!

    Discovered that the default qt4 and skin interface won’t display fullscreen, tho initial embedded displays work fine in both. Fullscreen displays an seperate “X11” (I think) window only, from the default/skins interface, never goes fullscreen, and “zoom” feature appears faulty. Some other issues noted but insignificant at this point.

    Have also an “arch-install” running “git” which plays nicely in default but won’t take skins…RATS! You can prolly guess am doing this for skin development, and having a working vlc-1.0 version would be sweet, as skins work well in “9.8a”, and a leg up for the near future would require “1.0x”. Any thoughts/pointers/hints appreciated…

  40. On 16 May 16160, 12:24 by JBK

    @uux: done as you wished.

  41. On 15 May 15150, 5:26 by uux

    About the failing ‘make install’:

    I compiled VLC-git with the following additional configure options (add the two additional options to the second-to-last command from the HowTo above):

    ../configure –disable-nls –enable-qt4 –prefix=/opt/vlc –exec-prefix=/usr

    Afterwards ‘sudo make install’ should finish fine and VLC will be startable from any directory by just typing ‘vlc’ into the terminal. It will not be necessary anymore to run ./vlc from the build directory, and actually, the bloated 400MB git-directory can be removed. VLC seems to run fine now and also appears to find everything it needs to run and work, as opposed to installing it without those extra options, where normally VLC wouldn’t even start right afterwards.. Anyway, I didn’t do too extensive testing so far…

    Also, VLC now starts much faster, almost instantly. When run from the build directory before installing, it always took some seconds for VLC to start up, at least on my machine.

    There’s still one feature missing, though:
    VLC installation will not put a VLC entry to the Gnome application menu. This has to be put there manually, if desired.

    I assume that only one of the two additional options might be necessary, but as building takes too damn long, I’m not gonna test that now. ;-)

    Hope that helps anyone who doesn’t like having to keep a ~400MB directory in his $HOME just to be able to run the latest version of VLC.

    Have a nice Sunday.
    uux

    PS: Oh, one thing I forgot to mention : beforeinstalling, I removed any other VLC version from the system. I’m notsure if this is necessary, but well, just in case.

  42. On 14 May 14140, 12:12 by JBK

    You don’t need to install VLC for it to work. Make it work from the builddir, with ./vlc

  43. On 14 May 14140, 4:53 by pdonner

    Yeah ditto on the make install comment. My current (8.10 Ubuntu) vlc version stays at 0.94 while in the build/bin dir the new 1.00 vls exists. Make install does a lot of stuff but doesn’t install the new version.

  44. On 13 May 13130, 4:36 by Juliano

    how should i get 0.9.8a version of vlc from git repository?

  45. On 11 May 11110, 3:59 by pd

    Is there an equivalent “make install” for this. I have tried but it seems to be broken.

    Thanks.

  46. On 10 May 10100, 8:56 by JBK

    @all: thanks, we all know you are kind of right, but this was more to be funny than to be accurate :D

    @uux: good catch, thanks

    @tqft: this howto is way more simple than the usual one (with x264) but is enough for most people. But if you want latest FFmpeg and latest x264, follow the old posts.

  47. On 9 May 9090, 5:32 by denver

    i think he was refering to all the commands. The && actualy separate commands, and are interpreted as “if” statements.

    Basically in:

    mkdir build && cd build && ../configure –disable-nls –enable-qt4

    you are saying:

    if make build is successfull, then execute:

    cd build

    After that, if cd build is successfull, execute:

    ../configure

    and so on. So 16aR was actualy right :P

  48. On 9 May 9090, 12:25 by uux

    Hi JBK,

    thank you very much for this HowTo! It was very helpful.

    One thing, though:
    The first command seems to need another sudo for the second part of the command, like this:

    sudo apt-get build-dep vlc && apt-get install libtool build-essential automake1.10 git-core

    Otherwise, it wouldn’t install, at least it didn’t for me.

    Regards and thanks again
    uux

  49. On 6 May 6060, 11:38 by tqft

    When did the build instruction change?

    Particularly the use of the build dir? But no matter I finally seem to have recovered (after deleting everything thinking I had screwed the git repo - twice).

    x264 question: the prev build instructions on your blog
    http://www.jbkempf.com/blog/post/20…
    and the current wiki instructions
    http://wiki.videolan.org/Git#Gettin…
    $ git clone git://git.videolan.org/x264.git
    Where should the x264 repo end up? as a separate dir or in the same folder as vlc?
    I haven’t done the x264 bit yet - am I going to miss much?

    Thanks

  50. On 6 May 6060, 12:34 by JBK

    No, there are 5 commands! :D

    Bootstrap is necessary to create the configure.

  51. On 5 May 5050, 3:10 by 16aR

    Liar :(
    you need exactly 8 commands :p

    I got a question though :) What is the use of bootstrap ?