GNOME Bugzilla – Bug 720132
cerbero: Add RHEL6.4 support
Last modified: 2014-11-26 13:49:46 UTC
Overview: Using Cerbero to create gstreamer-1.0-sdk fails; however, can create gstreamer-sdk. Steps to Reproduce: $ ./cerbero-uninstalled package gstreamer-1.0-sdk Actual Results: Building the following recipes: libffi zlib glib gtk-doc-lite gstreamer-1.0 libxml2 libogg libpng pixman expat freetype bzip2 fontconfig cairo pango libvorbis libtheora libvisual orc cdparanoia gst-plugins-base-1.0 gst-sdk-shell jpeg speex tiff gdk-pixbuf gmp nettle libtasn1 gnutls glib-networking libsoup wavpack flac taglib libvpx libdv gst-plugins-good-1.0 fribidi libass faad2 libkate opus schroedinger libdca libmms libdvdread libdvdnav soundtouch gst-plugins-bad-1.0 a52dec opencore-amr libmpeg2 libmad x264 gst-plugins-ugly-1.0 gstreamer-1.0-static gst-plugins-base-1.0-static gst-plugins-good-1.0-static gst-plugins-bad-1.0-static gst-plugins-ugly-1.0-static glib-networking-static gst-libav-1.0 gst-libav-1.0-static [(1/64) libffi -> already built ] [(2/64) zlib -> already built ] [(3/64) glib -> fetch ] -----> Step done [(3/64) glib -> extract ] -----> Step done [(3/64) glib -> configure ] -----> Step done [(3/64) glib -> compile ] -----> Step done [(3/64) glib -> install ] -----> Step done [(3/64) glib -> post_install ] -----> Step done [(4/64) gtk-doc-lite -> already built ] [(5/64) gstreamer-1.0 -> already built ] [(6/64) libxml2 -> already built ] [(7/64) libogg -> already built ] [(8/64) libpng -> already built ] [(9/64) pixman -> already built ] [(10/64) expat -> already built ] [(11/64) freetype -> already built ] [(12/64) bzip2 -> already built ] [(13/64) fontconfig -> already built ] [(14/64) cairo -> already built ] [(15/64) pango -> already built ] [(16/64) libvorbis -> already built ] [(17/64) libtheora -> already built ] [(18/64) libvisual -> already built ] [(19/64) orc -> already built ] [(20/64) cdparanoia -> already built ] [(21/64) gst-plugins-base-1.0 -> already built ] [(22/64) gst-sdk-shell -> fetch ] -----> Step done [(22/64) gst-sdk-shell -> extract ] -----> Step done [(22/64) gst-sdk-shell -> configure ] -----> Step done [(22/64) gst-sdk-shell -> compile ] -----> Step done [(22/64) gst-sdk-shell -> install ] -----> Step done [(22/64) gst-sdk-shell -> post_install ] -----> Step done [(23/64) jpeg -> already built ] [(24/64) speex -> already built ] [(25/64) tiff -> already built ] [(26/64) gdk-pixbuf -> already built ] [(27/64) gmp -> already built ] [(28/64) nettle -> already built ] [(29/64) libtasn1 -> already built ] [(30/64) gnutls -> already built ] [(31/64) glib-networking -> already built ] [(32/64) libsoup -> already built ] [(33/64) wavpack -> already built ] [(34/64) flac -> already built ] [(35/64) taglib -> already built ] [(36/64) libvpx -> already built ] [(37/64) libdv -> already built ] [(38/64) gst-plugins-good-1.0 -> already built ] [(39/64) fribidi -> already built ] [(40/64) libass -> already built ] [(41/64) faad2 -> already built ] [(42/64) libkate -> already built ] [(43/64) opus -> already built ] [(44/64) schroedinger -> already built ] [(45/64) libdca -> already built ] [(46/64) libmms -> already built ] [(47/64) libdvdread -> already built ] [(48/64) libdvdnav -> already built ] [(49/64) soundtouch -> already built ] [(50/64) gst-plugins-bad-1.0 -> already built ] [(51/64) a52dec -> already built ] [(52/64) opencore-amr -> already built ] [(53/64) libmpeg2 -> already built ] [(54/64) libmad -> already built ] [(55/64) x264 -> fetch ] -----> Step done [(55/64) x264 -> extract ] -----> Step done [(55/64) x264 -> configure ] -----> Step done [(55/64) x264 -> compile ] -----> Step done [(55/64) x264 -> install ] -----> Step done [(55/64) x264 -> post_install ] -----> Step done [(56/64) gst-plugins-ugly-1.0 -> already built ] [(57/64) gstreamer-1.0-static -> already built ] [(58/64) gst-plugins-base-1.0-static -> already built ] [(59/64) gst-plugins-good-1.0-static -> fetch ] -----> Step done [(59/64) gst-plugins-good-1.0-static -> extract ] -----> Step done [(59/64) gst-plugins-good-1.0-static -> configure ] -----> Step done [(59/64) gst-plugins-good-1.0-static -> compile ] -----> Step done [(59/64) gst-plugins-good-1.0-static -> install ] -----> Step done [(59/64) gst-plugins-good-1.0-static -> post_install ] ***** Error running 'package' command: Recipe 'gst-plugins-good-1.0-static' failed at the build step 'post_install' Traceback (most recent call last):
+ Trace 232895
stepfunc()
to_unixpath(self.config.prefix)[1:], f_no_static),f_path)
with open(src, 'rb') as fsrc:
$ Expected Results: Successful build. Build Date & Platform: 2013-12-13 Redhat 6.4, with 3.10.4 kernel Additional Builds and Platforms: NA Additional Information: Following discussions on https://bugzilla.gnome.org/show_bug.cgi?id=712631, managed to manually install gstreamer-1.0 on RHEL 6.4. Summary of steps is as follows: mkdir Packages cd Packages/ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz tar -xJf autoconf-2.69.tar.xz cd autoconf-2.69 ./configure make make install wget http://files.itstool.org/itstool/itstool-2.0.0.tar.bz2 tar -xjf itstool-2.0.0.tar.bz2 cd itstool-2.0.0 ./configure make make install wget http://ftp.gnome.org/pub/gnome/sources/gtk-doc/1.19/gtk-doc-1.19.tar.xz tar -xJf gtk-doc-1.19.tar.xz cd gtk-doc-1.19 ./configure --prefix=/usr/local && make make install wget ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz tar -xzf libffi-3.0.13.tar.gz wget http://www.linuxfromscratch.org/patches/blfs/svn/libffi-3.0.13-includedir-1.patch cd libffi-3.0.13 patch -Np1 -i ../libffi-3.0.13-includedir-1.patch ./configure --prefix=/usr/local --disable-static make install wget http://ftp.gnome.org/pub/gnome/sources/glib/2.38/glib-2.38.1.tar.xz tar -xJf glib-2.38.1.tar.xz cd glib-2.38.1 ./configure --prefix=/usr/local make -j 40 make install export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib #Confirm path to glib #ldconfig -p | grep -i libglib wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.2.1.tar.xz tar -xJf gstreamer-1.2.1.tar.xz cd gstreamer-1.2.1 ./autogen.sh --prefix=/usr/local make -j 40 make install #Confirm correct glib #ldd gst/.libs/libgstreamer-1.0.so.0.201.0 wget http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.2.1.tar.xz wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.2.1.tar.xz wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.2.1.tar.xz wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.2.1.tar.xz wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.2.1.tar.xz #x86 Platform, needed by gst-libav yum install yasm for d in `ls -1 gst-plugin*`; do cd $d ./configure --prefix=/usr/local make -j 40 sudo make install cd .. done tar –xJf gst-libav-1.2.1.tar.xz cd gst-libav-1.2.1 ./autogen.sh --prefix=/usr/local make -j 40 make install To build gstreamer-sdk, I had to modify 2 files: 1- Updated line 157 ./cerbero/utils/__init__.py from elif d[0] in ['RedHat', 'Fedora', 'CentOS']: to elif d[0] in ['Red Hat Enterprise Linux Server', 'RedHat', 'Fedora', 'CentOS']: 2- Added to line 49 of ./cerbero/packages/linux.py, the following: self.package.embed_deps = True sudo easy_install argparse sudo perl -MCPAN -e shell cpan> install XML::Simple cpan> install Bundle::CPAN python ./cerbero_uninstalled bootstrap python ./cerbero-uninstalled package gstreamer-sdk As noted above; however, python ./cerbero-uninstalled package gstreamer-1.0-sdk fails.
The cerbero version you're using is not the one of the GStreamer project. Please remove all that and try again with the 1.2 branch from here: http://cgit.freedesktop.org/gstreamer/cerbero/ And then don't build the package gstreamer-1.0-sdk but gstreamer-1.0.
Thank you for your reply. However, it seems that noted modifications to python files are needed: $ mkdir cerberoGit $ cd cerberoGit/ $ git clone git://anongit.freedesktop.org/gstreamer/cerbero . Initialized empty Git repository in /home/navesta/work/gstreamer/gstreamer1.x/cerberoGit/.git/ remote: Counting objects: 15087, done. remote: Compressing objects: 100% (4303/4303), done. remote: Total 15087 (delta 11423), reused 14150 (delta 10724) Receiving objects: 100% (15087/15087), 3.89 MiB | 1.15 MiB/s, done. Resolving deltas: 100% (11423/11423), done. [navesta@vanhpc01 cerberoGit]$ ./cerbero-uninstalled bootstrap Traceback (most recent call last):
+ Trace 232899
from cerbero.main import main
from cerbero import hacks
from cerbero.utils.shell import call
PLATFORM = system_info()[0]
raise FatalError("Distribution '%s' not supported" % str(d))
$
+ Trace 232902
Yes, support for RHEL6.4 has to be added.
Created attachment 273688 [details] [review] utils: Properly detect RHEL (Red Hat Enterprise Linux)
navesta, could you try that patch ? Note that it will only add support to *recognize* RHEL 6. It might not fix all issues though.
Comment on attachment 273688 [details] [review] utils: Properly detect RHEL (Red Hat Enterprise Linux) I'd say push it and see what happens? ooc, is there a non-'Server' variant too? e.g. a Desktop variant? In that case we might just want to check for the prefix perhaps.
commit ebe9436cac3fd0a0e33f71e16365f7dee646455c Author: Edward Hervey <bilboed@bilboed.com> Date: Mon Apr 7 10:02:28 2014 +0200 utils: Properly detect RHEL (Red Hat Enterprise Linux) https://bugzilla.gnome.org/show_bug.cgi?id=720132