Install Handbrake on Fedora 18

Unfortunately, there are no repos that contain Handbrake pre-built for Fedora. That's not always a bad thing, it just means we need to download and compile it on our machines. It's not as hard as it sounds! Here's how I did it:

We need to get any and all dependencies for Handbrake. I found these by checking the readme and a few other places on the web:

 

Lets get the development stuff first:

sudo yum groupinstall "Development Tools"

 

Now lets get all the other dependencies for Handbrake:

sudo yum install libass-devel libsamplerate-devel libogg-devel libtheora-devel libvorbis-devel yasm zlib-devel bzip2-devel fribidi-devel dbus-glib-devel libgudev1-devel webkitgtk-devel libnotify-devel gstreamer-devel gstreamer-plugins-base-devel libsamplerate-devel svn

 

Once we have all those installed, we can download a copy of Handbrake using SVN:

svn checkout svn://svn.handbrake.fr/HandBrake/trunk hb-trunk

 

OK. Now we have everything we need to begin compiling lets change to the proper directory and compile!

cd hb-trunk

./configure

cd build

gmake

make install

 

That's all there is to it! You should now have Handbrake installed and ready for use. Please post below if you come across any problems.

 

11 Comments

  • geekphreek says:

    Worked perfectly, thanks.

  • Peter says:

    Works here to, although it took ages to make on my system (955 Phenomn 2 with 8 gig).

    Thanks.

  • mike says:

    localhost hb-trunk]# ./configure
    -bash: ./configure: Permission denied

    I've tried chmodding it to be executale

    no joy

  • PaulO says:

    No joy here, failing on gmake 🙁 AFAICT it went ok until gmake with the exception of this "undefined symbol" error which I got a number of times when installing/updating the dependencies. When I tried to re-install the dependencies it said that they were all up to date and there was nothing to do,hence I moved on. Any help appreciated...

    Paul

    dependency error:

    Updating : gtk2-2.24.19-1.fc18.i686 119/180
    /usr/bin/gtk-query-immodules-2.0-32: symbol lookup error: /lib/libGL.so.1: undefined symbol: _glapi_tls_Dispatch
    warning: %post(gtk2-2.24.19-1.fc18.i686) scriptlet failed, exit status 127

    gmake error:

    # source='clean-temp.c' object='clean-temp.o' libtool=no
    /usr/bin/gcc -std=gnu99 -I. -I/home/poflynn/hb-trunk/build/contrib/include -I/home/poflynn/hb-trunk/build/contrib/include -c clean-temp.c
    In file included from clean-temp.h:22:0,
    from clean-temp.c:23:
    ./stdio.h:477:1: error: 'gets' undeclared here (not in a function)
    gmake[4]: *** [clean-temp.o] Error 1
    gmake[4]: Leaving directory `/home/poflynn/hb-trunk/build/contrib/m4/m4-1.4.16/lib'
    gmake[3]: *** [all] Error 2
    gmake[3]: Leaving directory `/home/poflynn/hb-trunk/build/contrib/m4/m4-1.4.16/lib'
    gmake[2]: *** [all-recursive] Error 1
    gmake[2]: Leaving directory `/home/poflynn/hb-trunk/build/contrib/m4/m4-1.4.16'
    gmake[1]: *** [all] Error 2
    gmake[1]: Leaving directory `/home/poflynn/hb-trunk/build/contrib/m4/m4-1.4.16'
    gmake: *** [contrib/m4/.stamp.build] Error 2
    [email protected] build$ uname -a
    Linux theworld.fdc 3.8.2-206.fc18.x86_64 #1 SMP Fri Mar 8 15:03:34 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

  • ZinMinTun says:

    find: ar...(pass) /usr/bin/ar
    find: cp...(pass) /usr/bin/cp
    find: curl...(pass) /usr/bin/curl
    find: gcc...(fail) not found
    : name[0] = gcc
    ERROR: unable to continue; configure stop.

  • Nothing More says:

    For those getting the following errors:

    ./stdio.h:456:1: error: 'gets' undeclared here (not in a function)

    use the following command to get around this error:

    sed -i -e '/gets is a security/d' ./build/contrib/m4/m4-1.4.16/lib/stdio.h

    • Nothing More says:

      Corrected command:

      sed -i -e ‘/gets is a security/d’ ./build/contrib/m4/m4-1.4.16/lib/stdio.in.h

      • Sean says:

        How about:

        [[email protected] build]# sed -i -e ‘/gets is a security/d’ ./build/contrib/m4/m4-1.4.16/lib/stdio.in.h
        sed: -e expression #1, char 1: unknown command: `�'

        ?

        • prShadoko says:

          If you copy-paste the command, you have to replace the quotes (those are not ASCII characters).
          This command simply suppresses the 477th line of the ./build/contrib/m4/m4-1.4.16/lib/stdio.in.h file which cause the error.

          More about the bug :

  • Budda says:

    This fix the problem :

    in file fix.path :

    --- a/lib/stdio.in.h 2011-03-01 17:39:29.000000000 +0100
    +++ b/lib/stdio.in.h 2012-07-05 22:35:32.348982786 +0200
    @@ -162,7 +162,9 @@
    so any use of gets warrants an unconditional warning. Assume it is
    always declared, since it is required by C89. */
    #undef gets
    +#if HAVE_RAW_DECL_GETS
    _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
    +#endif

    #if @GNULIB_FOPEN@
    # if @REPLACE_FOPEN@

    then

    patch stdio.in.h < fix.path

Leave a Reply

XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

%d bloggers like this: