<div dir="ltr">Hi everyone, <div><br></div><div>I tried using meson and the script but it didn't work for me on Ubuntu</div><div>But since I learned a lot from both solutions, I was able to compile from source on Mac. I guess it was an environment issue or something.</div><div><br></div><div>Thank you all</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 30, 2018 at 9:56 PM, 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_7082677945908110466WordSection1">
<p class="MsoNormal"><span>Quick fix…<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>Line:<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>Should actually read:<u></u><u></u></span></p>
<p class="MsoNormal"><span>BUILD_ROOT="${BUILD_ROOT:-${<wbr>HOME}/build}"<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>Vinicius Tona<br>
<b>Sent:</b> Wednesday, 30 May 2018 10:05 PM</span></p><div><div class="h5"><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></div></div><p></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Thanks for all the inputs!<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I will give it a try and see how it goes<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, May 30, 2018 at 12:21 AM, Matthew Thyer <<a href="mailto:matthew.thyer@adelaide.edu.au" target="_blank">matthew.thyer@adelaide.edu.au</a><wbr>> 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>
<div>
<p class="MsoNormal">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></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal">Just look for the two comment lines that include “(assumes Ubuntu host)” if you want to modify this behaviour.<u></u><u></u></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">The script is:<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">#!/usr/bin/env bash<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Author: Matthew Thyer<u></u><u></u></p>
<p class="MsoNormal"># Date: 24-28 May 2018<u></u><u></u></p>
<p class="MsoNormal"># Build and install a subset of GStreamer from released sources.<u></u><u></u></p>
<p class="MsoNormal"># Actually a generic autoconf project builder that can build anything<u></u><u></u></p>
<p class="MsoNormal">#   with appropriate setting of the environment variables<u></u><u></u></p>
<p class="MsoNormal"># Note that sudo must already be installed<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Where we'll fetch, extract and build the sources (must not already exist!)<u></u><u></u></p>
<p class="MsoNormal">BUILD_ROOT="${BUILD_ROOT:-~/<wbr>build}"<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># The release to fetch, configure, build & install<u></u><u></u></p>
<p class="MsoNormal">RELEASE="${RELEASE:-1.14.1}"<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Installation prefix<u></u><u></u></p>
<p class="MsoNormal">PREFIX="${PREFIX:-/usr/local/<wbr>gstreamer1.0}"<u></u><u></u></p>
<p class="MsoNormal">export PKG_CONFIG_PATH="${PREFIX}/<wbr>lib/pkgconfig"<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Prerequisite packages that need to be installed (assumes Ubuntu host)<u></u><u></u></p>
<p class="MsoNormal">PREREQS="curl xz-utils build-essential bison flex python3 glib2.0 liborc-0.4-dev"<u></u><u></u></p>
<p class="MsoNormal"># If building the x264 codec from the gst-plugins-ugly module you'll also need libx264-dev<u></u><u></u></p>
<p class="MsoNormal">#PREREQS="curl xz-utils build-essential bison flex python3 glib2.0 liborc-0.4-dev libx264-dev"<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Where to source the sources<u></u><u></u></p>
<p class="MsoNormal">SRC_URL="<a href="https://gstreamer.freedesktop.org/src/" target="_blank">https://gstreamer.<wbr>freedesktop.org/src/</a>"<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Arrary of which GStreamer components to build<u></u><u></u></p>
<p class="MsoNormal">declare -a COMPONENTS=('gstreamer'<u></u><u></u></p>
<p class="MsoNormal">'gst-plugins-base'<u></u><u></u></p>
<p class="MsoNormal">'gst-plugins-good'<u></u><u></u></p>
<p class="MsoNormal">#'gst-plugins-ugly'<u></u><u></u></p>
<p class="MsoNormal">'gst-rtsp-server');<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Common configure flags for each of the above components<u></u><u></u></p>
<p class="MsoNormal">COMMON_CONF_FLAGS='--disable-<wbr>maintainer-mode --disable-examples --disable-gtk-doc-html'<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Array of additional configure flags for each of the above components<u></u><u></u></p>
<p class="MsoNormal">declare -a ADDL_CONF_FLAGS=('--disable-<wbr>tests --disable-benchmarks --disable-check'<u></u><u></u></p>
<p class="MsoNormal">'--enable-orc'<u></u><u></u></p>
<p class="MsoNormal">'--enable-orc'<u></u><u></u></p>
<p class="MsoNormal">#'--enable-orc'<u></u><u></u></p>
<p class="MsoNormal">'')<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Number of parallel make jobs<u></u><u></u></p>
<p class="MsoNormal">njobs=$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || echo 1)<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Start<u></u><u></u></p>
<p class="MsoNormal">prog=`basename $0`<u></u><u></u></p>
<p class="MsoNormal">num_comps=${#COMPONENTS[@]}<u></u><u></u></p>
<p class="MsoNormal">num_flags=${#ADDL_CONF_FLAGS[@<wbr>]}<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">if [ -d "${BUILD_ROOT}" ]; then<u></u><u></u></p>
<p class="MsoNormal">   echo "${prog}: ERROR: Build folder \"${BUILD_ROOT}\" already exists!"<u></u><u></u></p>
<p class="MsoNormal">   exit 1<u></u><u></u></p>
<p class="MsoNormal">fi<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">if [ $num_comps -ne $num_flags ]; then<u></u><u></u></p>
<p class="MsoNormal">   echo "${prog}: ERROR: Arrays COMPONENTS & ADDL_CONF_FLAGS must contain the same number of elements"<u></u><u></u></p>
<p class="MsoNormal">   exit 1<u></u><u></u></p>
<p class="MsoNormal">fi<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Install prerequisites (assumes Ubuntu host) and make the build root folder<u></u><u></u></p>
<p class="MsoNormal">sudo apt update<u></u><u></u></p>
<p class="MsoNormal">sudo apt -y upgrade<u></u><u></u></p>
<p class="MsoNormal">sudo apt install -y ${PREREQS}<u></u><u></u></p>
<p class="MsoNormal">mkdir -p "${BUILD_ROOT}"<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">x=0<u></u><u></u></p>
<p class="MsoNormal">while [ $x -lt $num_comps ]; do<u></u><u></u></p>
<p class="MsoNormal">   cd "${BUILD_ROOT}"<u></u><u></u></p>
<p class="MsoNormal">   y=`expr $x + 1`<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Fetch<u></u><u></u></p>
<p class="MsoNormal">   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> fetch ]"<u></u><u></u></p>
<p class="MsoNormal">   echo "Fetching ${SRC_URL}${COMPONENTS[$x]}/${<wbr>COMPONENTS[$x]}-${RELEASE}.<wbr>tar.xz"<u></u><u></u></p>
<p class="MsoNormal">   curl -LO ${SRC_URL}${COMPONENTS[$x]}/${<wbr>COMPONENTS[$x]}-${RELEASE}.<wbr>tar.xz<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Extract<u></u><u></u></p>
<p class="MsoNormal">   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> extract ]"<u></u><u></u></p>
<p class="MsoNormal">   tar -xJpf ${COMPONENTS[$x]}-${RELEASE}.<wbr>tar.xz<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Configure<u></u><u></u></p>
<p class="MsoNormal">   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> configure ]"<u></u><u></u></p>
<p class="MsoNormal">   cd "${COMPONENTS[$x]}-${RELEASE}"<u></u><u></u></p>
<p class="MsoNormal">   ./configure --prefix="${PREFIX}" ${COMMON_CONF_FLAGS} ${ADDL_CONF_FLAGS[$x]} 2>&1 | tee configure.log<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Make<u></u><u></u></p>
<p class="MsoNormal">   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> make ]"<u></u><u></u></p>
<p class="MsoNormal">   make -j $njobs 2>&1 | tee make.log<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"># Install<u></u><u></u></p>
<p class="MsoNormal">   echo "[(${y}/${num_comps}) ${COMPONENTS[$x]} -> make install ]"<u></u><u></u></p>
<p class="MsoNormal">   sudo make install 2>&1 | tee make-install.log<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">   x=$y<u></u><u></u></p>
<p class="MsoNormal">done<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">echo "${prog}: INFO: All done!"<u></u><u></u></p>
<p class="MsoNormal">exit 0<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></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</span><u></u><u></u></p>
<div>
<div>
<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-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<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-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<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"> </span><u></u><u></u></p>
</div>
<p class="MsoNormal"><span style="color:#888888">--
</span><u></u><u></u></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, </span><u></u><u></u></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><u></u><u></u></p>
<div>
<p class="MsoNormal" style="text-align:justify">
<span style="font-size:9.5pt;color:#888888"> </span><u></u><u></u></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#888888">Vinícius Faria Toná</span><u></u><u></u></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>
<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"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">"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">because the answer is not separate from the problem."</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif"> - <span style="color:#666666">Krishnamurti</span></span><u></u><u></u></p>
<div>
<p class="MsoNormal" style="text-align:justify"><span style="font-size:9.5pt"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">Vinícius Faria Toná</span><span style="font-size:9.5pt"><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</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></div>