<div dir="ltr">Thanks for all the inputs!<div><br></div><div>I will give it a try and see how it goes</div><div><br></div><div>Regards</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 30, 2018 at 12:21 AM, Matthew Thyer <span dir="ltr"><<a href="mailto:matthew.thyer@adelaide.edu.au" target="_blank">matthew.thyer@adelaide.edu.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-AU" link="blue" vlink="purple">
<div class="m_-816067162611092390WordSection1">
<p class="MsoNormal"><span>I have now totally given up on Cerbero and have written a script that builds just the subset of GStreamer that I require from the released sources (not git). By setting the variables in the script
 correctly you can but some or all of GStreamer for the installation prefix of your choice.<u></u><u></u></span></p>
<p class="MsoNormal"><span>The script is Ubuntu or at least Debian specific in that it installs the required prerequisite packages using “sudo apt install”.<u></u><u></u></span></p>
<p class="MsoNormal"><span>Just look for the two comment lines that include “(assumes Ubuntu host)” if you want to modify this behaviour.<u></u><u></u></span></p>
<p class="MsoNormal"><span>You’ll want to carefully consider the prerequisite packages and the arguments to configure for each GStreamer module to get your desired behaviour.<u></u><u></u></span></p>
<p class="MsoNormal"><span>By default, the script will build in folder GStreamer release 1.14.1 for the prefix “/usr/local/gstreamer1.0” in the temporary build folder “~/build”.<u></u><u></u></span></p>
<p class="MsoNormal"><span>By default it only builds the modules “gstreamer”, “gst-plugins-base”, “gst-plugins-good” & “gst-rtsp-server” as that’s what I require.<u></u><u></u></span></p>
<p class="MsoNormal"><span>Note that if you build for a prefix other than “/usr/local” you’ll need to set LD_LIBRARY_PATH to include your prefix/lib or correctly link your application for the appropriate runtime library search
 path.<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>The script is:<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>#!/usr/bin/env bash<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Author: Matthew Thyer<u></u><u></u></span></p>
<p class="MsoNormal"><span># Date: 24-28 May 2018<u></u><u></u></span></p>
<p class="MsoNormal"><span># Build and install a subset of GStreamer from released sources.<u></u><u></u></span></p>
<p class="MsoNormal"><span># Actually a generic autoconf project builder that can build anything<u></u><u></u></span></p>
<p class="MsoNormal"><span>#   with appropriate setting of the environment variables<u></u><u></u></span></p>
<p class="MsoNormal"><span># Note that sudo must already be installed<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Where we'll fetch, extract and build the sources (must not already exist!)<u></u><u></u></span></p>
<p class="MsoNormal"><span>BUILD_ROOT="${BUILD_ROOT:-~/<wbr>build}"<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># The release to fetch, configure, build & install<u></u><u></u></span></p>
<p class="MsoNormal"><span>RELEASE="${RELEASE:-1.14.1}"<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Installation prefix<u></u><u></u></span></p>
<p class="MsoNormal"><span>PREFIX="${PREFIX:-/usr/local/<wbr>gstreamer1.0}"<u></u><u></u></span></p>
<p class="MsoNormal"><span>export PKG_CONFIG_PATH="${PREFIX}/<wbr>lib/pkgconfig"<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Prerequisite packages that need to be installed (assumes Ubuntu host)<u></u><u></u></span></p>
<p class="MsoNormal"><span>PREREQS="curl xz-utils build-essential bison flex python3 glib2.0 liborc-0.4-dev"<u></u><u></u></span></p>
<p class="MsoNormal"><span># If building the x264 codec from the gst-plugins-ugly module you'll also need libx264-dev<u></u><u></u></span></p>
<p class="MsoNormal"><span>#PREREQS="curl xz-utils build-essential bison flex python3 glib2.0 liborc-0.4-dev libx264-dev"<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Where to source the sources<u></u><u></u></span></p>
<p class="MsoNormal"><span>SRC_URL="<a href="https://gstreamer.freedesktop.org/src/" target="_blank">https://gstreamer.<wbr>freedesktop.org/src/</a>"<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Arrary of which GStreamer components to build<u></u><u></u></span></p>
<p class="MsoNormal"><span>declare -a COMPONENTS=('gstreamer'<u></u><u></u></span></p>
<p class="MsoNormal"><span>'gst-plugins-base'<u></u><u></u></span></p>
<p class="MsoNormal"><span>'gst-plugins-good'<u></u><u></u></span></p>
<p class="MsoNormal"><span>#'gst-plugins-ugly'<u></u><u></u></span></p>
<p class="MsoNormal"><span>'gst-rtsp-server');<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Common configure flags for each of the above components<u></u><u></u></span></p>
<p class="MsoNormal"><span>COMMON_CONF_FLAGS='--disable-<wbr>maintainer-mode --disable-examples --disable-gtk-doc-html'<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Array of additional configure flags for each of the above components<u></u><u></u></span></p>
<p class="MsoNormal"><span>declare -a ADDL_CONF_FLAGS=('--disable-<wbr>tests --disable-benchmarks --disable-check'<u></u><u></u></span></p>
<p class="MsoNormal"><span>'--enable-orc'<u></u><u></u></span></p>
<p class="MsoNormal"><span>'--enable-orc'<u></u><u></u></span></p>
<p class="MsoNormal"><span>#'--enable-orc'<u></u><u></u></span></p>
<p class="MsoNormal"><span>'')<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Number of parallel make jobs<u></u><u></u></span></p>
<p class="MsoNormal"><span>njobs=$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || echo 1)<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Start<u></u><u></u></span></p>
<p class="MsoNormal"><span>prog=`basename $0`<u></u><u></u></span></p>
<p class="MsoNormal"><span>num_comps=${#COMPONENTS[@]}<u></u><u></u></span></p>
<p class="MsoNormal"><span>num_flags=${#ADDL_CONF_FLAGS[@<wbr>]}<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>if [ -d "${BUILD_ROOT}" ]; then<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "${prog}: ERROR: Build folder \"${BUILD_ROOT}\" already exists!"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   exit 1<u></u><u></u></span></p>
<p class="MsoNormal"><span>fi<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>if [ $num_comps -ne $num_flags ]; then<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "${prog}: ERROR: Arrays COMPONENTS & ADDL_CONF_FLAGS must contain the same number of elements"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   exit 1<u></u><u></u></span></p>
<p class="MsoNormal"><span>fi<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Install prerequisites (assumes Ubuntu host) and make the build root folder<u></u><u></u></span></p>
<p class="MsoNormal"><span>sudo apt update<u></u><u></u></span></p>
<p class="MsoNormal"><span>sudo apt -y upgrade<u></u><u></u></span></p>
<p class="MsoNormal"><span>sudo apt install -y ${PREREQS}<u></u><u></u></span></p>
<p class="MsoNormal"><span>mkdir -p "${BUILD_ROOT}"<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>x=0<u></u><u></u></span></p>
<p class="MsoNormal"><span>while [ $x -lt $num_comps ]; do<u></u><u></u></span></p>
<p class="MsoNormal"><span>   cd "${BUILD_ROOT}"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   y=`expr $x + 1`<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Fetch<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> fetch ]"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "Fetching ${SRC_URL}${COMPONENTS[$x]}/${<wbr>COMPONENTS[$x]}-${RELEASE}.<wbr>tar.xz"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   curl -LO ${SRC_URL}${COMPONENTS[$x]}/${<wbr>COMPONENTS[$x]}-${RELEASE}.<wbr>tar.xz<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Extract<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> extract ]"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   tar -xJpf ${COMPONENTS[$x]}-${RELEASE}.<wbr>tar.xz<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Configure<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> configure ]"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   cd "${COMPONENTS[$x]}-${RELEASE}"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   ./configure --prefix="${PREFIX}" ${COMMON_CONF_FLAGS} ${ADDL_CONF_FLAGS[$x]} 2>&1 | tee configure.log<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Make<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> make ]"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   make -j $njobs 2>&1 | tee make.log<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span># Install<u></u><u></u></span></p>
<p class="MsoNormal"><span>   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> make install ]"<u></u><u></u></span></p>
<p class="MsoNormal"><span>   sudo make install 2>&1 | tee make-install.log<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>   x=$y<u></u><u></u></span></p>
<p class="MsoNormal"><span>done<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>echo "${prog}: INFO: All done!"<u></u><u></u></span></p>
<p class="MsoNormal"><span>exit 0<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> gstreamer-devel <<a href="mailto:gstreamer-devel-bounces@lists.freedesktop.org" target="_blank">gstreamer-devel-bounces@<wbr>lists.freedesktop.org</a>>
<b>On Behalf Of </b>David Ing<br>
<b>Sent:</b> Wednesday, 30 May 2018 4:13 AM<br>
<b>To:</b> Discussion of the development of and with GStreamer <<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<wbr>freedesktop.org</a>><br>
<b>Subject:</b> Re: Problems with gst-plugins-bad and Cerbero<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">There is currently an unresolved bug related to debian package paths:  <a href="https://bugzilla.gnome.org/show_bug.cgi?id=796009" target="_blank">https://bugzilla.<wbr>gnome.org/show_bug.cgi?id=<wbr>796009</a><u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">A likely solution is described in the bug related to a ~/custom.cbc file (part of Matthew Thyer's proposed solution).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">However, if you just want to rebuild and re-install the one package, this is faster (assuming you are on Linux):<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal">cd gst-plugins-bad<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">./autogen.sh<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">make<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">sudo make install && sudo ldconfig<u></u><u></u></p>
</div>
</div>
</blockquote>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, May 29, 2018 at 11:18 AM, Vinicius Tona <<a href="mailto:vftona@gmail.com" target="_blank">vftona@gmail.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I have a docker image with GStreamer built using Cerbero.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I want to add some logs in <b>gstwebrtcbin.c </b>to better understand how it works but when I try to follow the
<a href="https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-cerbero.html" target="_blank">
documentation</a> to recompile <b>gst-plugins-bad </b>I end up not seeing my change in place (Even though it was compiled properly)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I think the problem is my --prefix since I'm running inside <b>
cerbero-unstalled</b> but I tried a bunch of paths with no success<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Any help will be much appreciated <u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:#888888"><u></u> <u></u></span></p>
</div>
<p class="MsoNormal"><span style="color:#888888">-- <u></u><u></u></span></p>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;color:#888888">"If we can really understand the problem, the answer will come out of it, <u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:9.5pt;color:#888888">because the answer is not separate from the problem."</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#888888"> - </span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#666666">Krishnamurti</span><span style="color:#888888"><u></u><u></u></span></p>
<div>
<p class="MsoNormal" style="text-align:justify"><span style="font-size:9.5pt;color:#888888"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#888888">Vinícius Faria Toná</span><span style="font-size:9.5pt;color:#888888"><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

<br>______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:12.8px"><span style="font-size:12.8px">"If we can really understand the problem, the answer will come out of it, </span><br></div><span style="font-size:12.8px">because the answer is not separate from the problem."</span><font face="arial, helvetica, sans-serif" style="font-size:12.8px"><font size="2"> - </font></font><span style="color:rgb(102,102,102);font-family:arial,helvetica,sans-serif;font-size:x-small;text-align:justify">Krishnamurti</span><div style="font-size:12.8px"><div style="text-align:justify"><font color="#666666" face="arial, helvetica, sans-serif" size="1"><br></font></div><div><span style="font-family:arial,helvetica,sans-serif;font-size:small">Vinícius Faria Toná</span></div></div></div></div></div></div>
</div>