After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 720132 - cerbero: Add RHEL6.4 support
cerbero: Add RHEL6.4 support
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: packages
1.2.1
Other Linux
: Normal enhancement
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-12-09 19:56 UTC by navesta
Modified: 2014-11-26 13:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
utils: Properly detect RHEL (Red Hat Enterprise Linux) (994 bytes, patch)
2014-04-07 08:03 UTC, Edward Hervey
committed Details | Review

Description navesta 2013-12-09 19:56:38 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):
  • File "./cerbero/build/oven.py", line 103 in _cook_recipe
    stepfunc()
  • File "/home/navesta/work/gstreamer/gstreamer1.x/cerbero/recipes/custom.py", line 84 in post_install
    to_unixpath(self.config.prefix)[1:], f_no_static),f_path)
  • File "/usr/lib64/python2.6/shutil.py", line 50 in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: '/home/navesta/cerbero/sources/linux_x86_64/gst-plugins-good-1.0-static-1.0/static-build/opt/gstreamer-sdk/lib/gstreamer-1.0/libgstpulse.a'
$


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.
Comment 1 Sebastian Dröge (slomo) 2013-12-09 21:50:10 UTC
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.
Comment 2 navesta 2013-12-10 16:31:06 UTC
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):
  • File "./cerbero-uninstalled", line 8 in <module>
    from cerbero.main import main
  • File "./cerbero/main.py", line 19 in <module>
    from cerbero import hacks
  • File "./cerbero/hacks.py", line 131 in <module>
    from cerbero.utils.shell import call
  • File "./cerbero/utils/shell.py", line 42 in <module>
    PLATFORM = system_info()[0]
  • File "./cerbero/utils/__init__.py", line 187 in system_info
    raise FatalError("Distribution '%s' not supported" % str(d))
cerbero.errors.FatalError: Fatal Error: Distribution '('Red Hat Enterprise Linux Server', '6.4', 'Santiago')' not supported
$
Comment 3 navesta 2013-12-11 15:43:36 UTC
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):
  • File "./cerbero-uninstalled", line 8 in <module>
    from cerbero.main import main
  • File "./cerbero/main.py", line 19 in <module>
    from cerbero import hacks
  • File "./cerbero/hacks.py", line 131 in <module>
    from cerbero.utils.shell import call
  • File "./cerbero/utils/shell.py", line 42 in <module>
    PLATFORM = system_info()[0]
  • File "./cerbero/utils/__init__.py", line 187 in system_info
    raise FatalError("Distribution '%s' not supported" % str(d))
cerbero.errors.FatalError: Fatal Error: Distribution '('Red Hat Enterprise Linux Server', '6.4', 'Santiago')' not supported
$
Comment 4 Sebastian Dröge (slomo) 2013-12-14 18:04:56 UTC
Yes, support for RHEL6.4 has to be added.
Comment 5 Edward Hervey 2014-04-07 08:03:11 UTC
Created attachment 273688 [details] [review]
utils: Properly detect RHEL (Red Hat Enterprise Linux)
Comment 6 Edward Hervey 2014-04-07 08:04:08 UTC
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 7 Tim-Philipp Müller 2014-11-25 16:23:07 UTC
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.
Comment 8 Edward Hervey 2014-11-26 13:49:42 UTC
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