How to compile kurento on CentOS?

2,726 views
Skip to first unread message

ycAlan

unread,
Nov 11, 2016, 2:12:40 AM11/11/16
to kurento
Hello everyone,
 I am developing a WEB application with webrtc. And I find kurento mmet the demand fully. However,I have to install kurento on SUSE11 or CentOS6.5 and I am not allowed to use docker.
I know little about cmake.I don't know how to deal with these :
  echo "deb http://ubuntu.kurento.org trusty-dev kms6" | sudo tee /etc/apt/sources.list.d/kurento-dev.list
  wget -O - http://ubuntu.kurento.org/kurento.gpg.key | sudo apt-key add -
  sudo apt-get update
  sudo apt-get install $(cat debian/control | sed -e "s/$/\!\!/g" | tr -d '\n' | sed "s/\!\! / /g" | sed "s/\!\!/\n/g" | grep "Build-Depends" | sed "s/Build-Depends: //g" | sed "s/([^)]*)//g" | sed "s/, */ /g")
on centos.
So I skip this step.  I install kms-cmake-utils :
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/FindGLIB-GENMARSHAL.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/FindGLIB-MKENUMS.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/GLibHelpers.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/TestHelpers.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/KurentoGitHelpers.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/GenericFind.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/VersionHelpers.cmake
-- Up-to-date: /usr/local/share/cmake-2.8/Modules/FindKurentoHelpers.cmake
Then install kurento-media-server and meet the error:
If KurentoHelpers is not found, then it is necessary to install
          kms-cmake-utils package from the kurento repository
CMake Error at CMakeLists.txt:8 (find_package):
  By not providing "FindKurentoHelpers.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "KurentoHelpers", but CMake did not find one.

  Could not find a package configuration file provided by "KurentoHelpers"
  with any of the following names:

    KurentoHelpersConfig.cmake
    kurentohelpers-config.cmake

  Add the installation prefix of "KurentoHelpers" to CMAKE_PREFIX_PATH or set
  "KurentoHelpers_DIR" to a directory containing one of the above files.  If
  "KurentoHelpers" provides a separate development package or SDK, be sure it
  has been installed.


-- Configuring incomplete, errors occurred!
 I have no ideal how to deal with these problem. 
      
Thanks for any help.


 

Art

unread,
Nov 14, 2016, 11:37:40 AM11/14/16
to kurento
Hello,

I had similar situation. My requirement was to compile Kurento for RHEL/CentOS 7
It took me a while to figure everything out. But finally I created rpm packages for all Kurento binaries and dependencies.
From my experience I can say it will be very difficult to build Kurento on CentOS 6.
The reason for that is lack of required libraries.
You will have to build a ton of packages in order to compile Kurento and make it work.
I'm not saying it is not doable but I'm assuming it won't be easy if you don't have enough experience.

I recommend CentOS 7.

Achmad Nasirudin Sandi

unread,
Mar 6, 2017, 5:42:49 AM3/6/17
to kurento
Hello @Art. Could you please share some gist or details how to make it works? I'm trying to install it on Centos 7.2.

Best regards.

Art

unread,
Mar 11, 2017, 9:51:47 AM3/11/17
to kurento
Hi Achmad,

Packaging Kurento for RHEL/CentOS 7 is quite complex. I would have to write a long article to cover all issues you may encounter.
And I'm not talking about the process of creating RPMs.
There is a list of dependencies Kurento requires in order to be compiled and working.
Most of those dependencies simply don't exist for RHEL/CentOS. It took me about 2 weeks to compile and package not only Kurento but also it's dependencies.
So the best I can do is share the result of my effort. But I will need some time to put things together.

Art

unread,
Mar 30, 2017, 7:09:54 PM3/30/17
to kurento
Hi Achmad,

You can find latest Kurento RPM for CentOS 7 here https://github.com/pkgs-cloud/kurento

Achmad Nasirudin Sandi

unread,
Apr 10, 2017, 10:18:51 PM4/10/17
to kurento
So many thanks for the hard work. Wonderful.

Micael Gallego

unread,
Apr 11, 2017, 3:49:28 AM4/11/17
to kur...@googlegroups.com
Hi Art,

We are working in a revamped documentation on how to compile kurento in ubuntu 14.04 and 16.04. Do you want to share with us your documentation in how to create RPM packages for CentOS. We can include it alongside our docs and, of course, you'll receive attribution for it.

In the future, we can coordinate to maintain that RPM packages up to date with released versions of KMS.

Thanks in advance.

Best regards

--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+unsubscribe@googlegroups.com.
To post to this group, send email to kur...@googlegroups.com.
Visit this group at https://groups.google.com/group/kurento.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/e21f8924-f3eb-4546-88d6-4480e93ef4fb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Art

unread,
Apr 12, 2017, 9:55:42 AM4/12/17
to kurento
Achmad, you are very welcome!

Micael,
I'll be happy to share instructions for building RPMs on RedHat/CentOS systems. But I don't have them yet :)
There is nothing special about compiling Kurento. I simply used config files for Ubuntu packages as a reference.
The nightmare happens when you need to resolve dependencies in order to compile Kurento correctly and make it work.
The up-to-date dependencies do not exist on RedHat/CentOS, unfortunately. 
In this case the docs should cover the dependency resolution rather than packaging Kurento.
In the meanwhile, I'm happy to help maintain the RPM packages.

Also, I'm planning on getting Janus WebRTC Gateway packaged for RedHat/CentOS soon. If anyone is interested.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.

Andrew Moss

unread,
May 2, 2017, 4:22:19 AM5/2/17
to kurento
Hi Art/Micael,

We'd also be really interested in seeing more detail on building for CentOS 7.

Ubuntu's legal grey areas (eg. http://www.networkworld.com/article/2226367/opensource-subnet/making-sense-of-the-ubuntu-licensing-fiasco.html) make it a difficult platform to use in shipping products. CentOS makes a lot more sense as a stable OS for deployment.

Thanks for your hard work,

Andrew Moss

Mohan Nade

unread,
Jul 14, 2017, 11:18:18 AM7/14/17
to kurento
Hi Art,

I was trying the steps on https://github.com/pkgs-cloud/kurento  on AWS RHEL7.
Facing issue with the missing repomd as below.

===
[root@psr001 ec2-user]# yum repolist
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
https://get.pkgs.cloud/extras/EL7Server/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.

https://get.pkgs.cloud/extras/EL7Server/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
https://get.pkgs.cloud/kurento/EL7Server/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
https://get.pkgs.cloud/openssl-1.0/EL7Server/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
https://get.pkgs.cloud/updates/EL7Server/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
repo id                                             repo name                                                           status
epel/x86_64                                         Extra Packages for Enterprise Linux 7 - x86_64                      11,888
mysql-connectors-community/x86_64                   MySQL Connectors Community                                              36
mysql-tools-community/x86_64                        MySQL Tools Community                                                   47
mysql56-community/x86_64                            MySQL 5.6 Community Server                                             327
pkgs.cloud                                          pkgs.cloud/release - RHEL                                               18
pkgs.cloud-extras/7Server                           pkgs.cloud/extras - RHEL                                                 0
pkgs.cloud-kurento/7Server                          pkgs.cloud/kurento - RHEL                                                0
pkgs.cloud-openssl-1.0/7Server                      pkgs.cloud/openssl-1.0 - RHEL                                            0
pkgs.cloud-updates/7Server                          pkgs.cloud/updates - RHEL                                                0
rhui-REGION-client-config-server-7/x86_64           Red Hat Update Infrastructure 2.0 Client Configuration Server 7          6
rhui-REGION-rhel-server-releases/7Server/x86_64     Red Hat Enterprise Linux Server 7 (RPMs)                            14,590
rhui-REGION-rhel-server-rh-common/7Server/x86_64    Red Hat Enterprise Linux Server 7 RH Common (RPMs)                     228
repolist: 27,140
===

Any idea why this should happen?

regards,
Mohan

Art

unread,
Jul 14, 2017, 11:47:44 AM7/14/17
to kurento
Hi Mohan,

Please try again. It should work now. EL7Server folder doesn't exist in the repository so we created relevant symlinks for your case.

Art

Mohan Nade

unread,
Jul 17, 2017, 11:02:40 AM7/17/17
to kurento
Thanks Art for quick help.

This time most of the links worked.

I was following steps from https://github.com/pkgs-cloud/release
It got stuck on https://rpm.nodesource.com/pub_7.x/el/7Server/x86_64/repodata/repomd.xml - 404, so manipulated that one to be https://rpm.nodesource.com/pub_7.x/el/7/x86_64/repodata/repomd.xml and it worked.

So the KMS was able to come up properly.
But now the further challenges started.
I was trying the java sample for http://doc-kurento.readthedocs.io/en/stable/tutorials.html#webrtc-one-to-one-video-call-with-recording-and-filtering
The page came up properly on the both the members in the conference. But the remote stream was not displayed.
Appears that something I need to check in the KMS-Java bridge.

Will keep you posted as it moves ahead.

regards,
Mohan

Art

unread,
Jul 17, 2017, 1:51:44 PM7/17/17
to kurento
Hi Mohan,

You are welcome! For Java examples in Kurento you don't really need NodeJS installed on the server.
If you have trouble with streams in Kurento, you may need to set up your own STUN server.
Coturn should work great https://github.com/coturn/coturn
And you can point Kurento to your STUN server in the config files.

Art

Mohan Nade

unread,
Jul 26, 2017, 10:15:47 AM7/26/17
to kurento
This worked like charm on Ubuntu Desktop, Server as well as RHEL7 on AWS EC2.
It needed additional settings as explained at http://doc-kurento.readthedocs.io/en/stable/faq.html#how-do-i

For RHEL, you will need to register the turnserver service so that you can use it.
It will need EPEL and fribidi additional stuff to be available on the server to achieve it.

Thanks a bunch.

regards,
Mohan
Reply all
Reply to author
Forward
0 new messages