{"id":12259,"date":"2022-03-31T19:33:58","date_gmt":"2022-03-31T14:33:58","guid":{"rendered":"https:\/\/alexeyka.zantsev.com\/?p=12259"},"modified":"2022-03-31T22:46:45","modified_gmt":"2022-03-31T17:46:45","slug":"rtpengine-10-rpm-compilation-in-centos-7","status":"publish","type":"post","link":"https:\/\/alexeyka.zantsev.com\/?p=12259","title":{"rendered":"RTPEngine 10: rpm compilation in Centos 7"},"content":{"rendered":"\n<p>This is a note without detailed examples.<\/p>\n\n\n\n<p>Main idea: 1) update kernel, 2) add <strong><em>RPM Fusion<\/em><\/strong> repository and install <em>ffmpeg<\/em> from it.<\/p>\n\n\n\n<p>If trying to compile <em>RTPEngine 10<\/em> in CentOS 7 with <em>ffmpeg<\/em> installed from some other repository (e.g. nux-desktop, as I had) &#8211; you&#8217;ll get an error! (see screenshot)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized is-style-default\"><a href=\"https:\/\/alexeyka.zantsev.com\/wp-content\/uploads\/2022\/03\/rtpengine10.centos7_1.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/alexeyka.zantsev.com\/wp-content\/uploads\/2022\/03\/rtpengine10.centos7_1-1024x420.jpg\" alt=\"\" class=\"wp-image-12260\" width=\"1024\" height=\"420\" srcset=\"https:\/\/alexeyka.zantsev.com\/wp-content\/uploads\/2022\/03\/rtpengine10.centos7_1-1024x420.jpg 1024w, https:\/\/alexeyka.zantsev.com\/wp-content\/uploads\/2022\/03\/rtpengine10.centos7_1-300x123.jpg 300w, https:\/\/alexeyka.zantsev.com\/wp-content\/uploads\/2022\/03\/rtpengine10.centos7_1-768x315.jpg 768w, https:\/\/alexeyka.zantsev.com\/wp-content\/uploads\/2022\/03\/rtpengine10.centos7_1.jpg 1082w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-wide\"\/>\n\n\n\n<p>Update kernel (my system had <em>3.10.0-957.el7.x86_64<\/em> after installation):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-text-color\">[root@localhost ~]# uname -a\nLinux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU\/Linux\n\n[root@localhost ~]# cat \/etc\/centos-release\nCentOS Linux release 7.6.1810 (Core)<\/pre>\n\n\n\n<p>Updated to the newest available from standard repository (<em>3.10.0-1160.59.1.el7.x86_64<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-text-color\">yum --showduplicates list available kernel.x86_64\n\nyum install kernel-3.10.0-1160.59.1.el7\n\nreboot\n\n[root@localhost ~]]# uname -a\nLinux localhost.localdomain 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed Feb 23 16:47:03 UTC 2022 x86_64 x86_64 x86_64 GNU\/Linux<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-wide\"\/>\n\n\n\n<p>Add <strong><em>RPM Fusion<\/em><\/strong> repository as described here: <a href=\"https:\/\/rpmfusion.org\/Configuration\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/rpmfusion.org\/Configuration<\/a><\/p>\n\n\n\n<p>I&#8217;ll duplicate instructions:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-text-color\">yum install dnf\n\ndnf install --nogpgcheck https:\/\/dl.fedoraproject.org\/pub\/epel\/epel-release-latest-$(rpm -E %rhel).noarch.rpm\n\ndnf install --nogpgcheck https:\/\/mirrors.rpmfusion.org\/free\/el\/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm\n\nhttps:\/\/mirrors.rpmfusion.org\/nonfree\/el\/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm<\/pre>\n\n\n\n<p>Then disable nux-desktop (if you previously installed ffmpeg from it) repository (&#8216;enabled=0&#8217; in <em>\/etc\/yum.repos.d\/nux-dextop.repo<\/em>).<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/alexeyka.zantsev.com\/?p=12123\" target=\"_blank\">Ensure<\/a> that <em>ffmpeg<\/em> and <em>ffmpeg-devel<\/em> now are available from just added <em><strong>RPM Fusion<\/strong><\/em> repository and install them (you&#8217;ll see repo name in the yum output, not shown here):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-text-color\">yum --showduplicates list available ffmpeg\nyum check-update \nyum install ffmpeg ffmpeg-devel<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-cyan-bluish-gray-background-color has-cyan-bluish-gray-color is-style-wide\"\/>\n\n\n\n<p>Then create build directory structure (use <em>rpmbuild<\/em> tool).<\/p>\n\n\n\n<p>Download  version 10 ZIP archive from RTPEngine git, somewhere from here <a href=\"https:\/\/github.com\/sipwise\/rtpengine\/tree\/mr10.4\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/sipwise\/rtpengine\/tree\/mr10.4<\/a> . Unzip it. <\/p>\n\n\n\n<p>Put <em>rtpengine\/el\/rtpengine.spec<\/em> to <em>rpmbuild\/SPECS\/<\/em><\/p>\n\n\n\n<p>Then archive again into<em> tar.gz<\/em> format with such name (according to settings in .spec file!):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-text-color\">tar czvf ngcp-rtpengine-10.4.0.0+0~mr10.4.0.0.tar.gz rtpengine-mr10.Y.Z\/<\/pre>\n\n\n\n<p>Put <em>ngcp-rtpengine-10.4.0.0+0~mr10.4.0.0.tar.gz<\/em> to <em>rpmbuild\/SOURCES\/<\/em><\/p>\n\n\n\n<p>Fire!<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-red-color has-text-color\">rpmbuild -ta rpmbuild\/SOURCES\/ngcp-rtpengine-10.4.0.0+0~mr10.4.0.0.tar.gz<\/pre>\n\n\n\n<p>Ready rpms will be under <em>rpmbuild\/RPMS\/<\/em> .<\/p>\n\n\n\n<p>Install them in this sequence: ngcp-rtpengine-dkms, ngcp-rtpengine, ngcp-rtpengine-debuginfo, ngcp-rtpengine-kernel, ngcp-rtpengine-recording .<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a note without detailed examples. Main idea: 1) update kernel, 2) add RPM Fusion repository and install ffmpeg from it. If trying to compile RTPEngine 10 in CentOS 7 with ffmpeg installed from some other repository (e.g. nux-desktop, as I had) &#8211; you&#8217;ll get an error! (see screenshot) Update kernel (my system had [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[220,254,280],"class_list":["post-12259","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-ffmpeg","tag-rtpengine","tag-rtpengine-10"],"_links":{"self":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts\/12259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12259"}],"version-history":[{"count":19,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts\/12259\/revisions"}],"predecessor-version":[{"id":12282,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts\/12259\/revisions\/12282"}],"wp:attachment":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}