Kurento / bugtracker

[ARCHIVED] Contents migrated to monorepo: https://github.com/Kurento/kurento
46 stars 10 forks source link

Building KMS from source without self-dependencies #626

Closed tacerus closed 2 years ago

tacerus commented 2 years ago

Prerequisites

These are MANDATORY, otherwise the issue will be automatically closed.

Issue description

Hi,

I am trying to build Kurento Media Server from source. The build instructions instruct me to install a packaged "dev" version of your program as a dependency: https://doc-kurento.readthedocs.io/en/latest/dev/dev_guide.html#install-build-dependencies

This sort of defeats the point of building from source.

Where can I acquire and how can I build this dependency from source as well?

Thank you!

Context

Building.

How to reproduce?

  1. Read the build instructions
  2. Attempt to run apt-get on a system without aptitude
  3. Fail

Expected & current behavior

The instructions should at least offer a reasonable amount of guidance on how to properly build the program from source. I understand not all scenarios and custom environments can be covered - but it would be nice to have at least pointers on where to download all the sources and which toolchains to build them with.

(Optional) Possible solution

Info about your environment

About Kurento Media Server

About your Application Server

About end-user clients

Run these commands

cat /etc/lsb-release

n/a

kurento-media-server --version

n/a

dpkg -l | grep -Pi 'kurento|kms-|gst.*1.5|nice'

Not all operating systems ship dpkg.

github-actions[bot] commented 2 years ago

Hello @tacerus! :wave: we're sorry you found a bug... so first of all, thank you very much for reporting it.

To know about progress, check in Triage. All issues are considered Backlog Candidates until work priorities align and the issue is selected for development. It will then become part of our official Backlog.

j1elo commented 2 years ago

I reckon that the documentation needed some additions, to cover the case of building everything from scratch; today I've expanded the section about Building from sources in an attempt to cover not only the quickstart case, but the complete build of all sources without self-dependencies.

Note however that, as stated in the Intro of that same page, everything (including bug report instructions asking to run dpkg) is written assuming one of the officially supported Ubuntu systems (which for the upcoming Kurento 7.0 will change to Ubuntu 20.04, and maybe 22.04 if stuff doesn't break with the upgrade)

j1elo commented 2 years ago

Fixed by https://github.com/Kurento/doc-kurento/commit/55517bd5b9d980a1301c80a6a3c1ce2eea2d34b4

tacerus commented 2 years ago

Thank you very much for updating the documentation, @j1elo! I totally understand you limit your upstream support to a certain operating system, but this should now make it easier to port the application stack to a different operating system. It is much appreciated.

j1elo commented 2 years ago

Note if you're going to spend the effort of building Kurento on other systems: most if not all repositories have a branch named bionic-gstreamer; naming aside (the effort started with Ubuntu Bionic), those branches contain all changes and modifications needed to build Kurento on Ubuntu 20.04, and a nice change we made for this, is that we're dropping the requisite of our own forked, horribly outdated version of GStreamer. Instead, Kurento has been adapted to use the system's installed version (which on Ubuntu 20.04 is GStreamer 1.16).

It is a work in progress that is very close to a Release Candidate, but hopefully later during the Summer we should be able to publish it. Getting rid of all those gstreamer forks will be a huge push in maintainability.

tacerus commented 2 years ago

Thanks for the advice - in my case I wanted to build it on openSUSE - so no "bionic" naming for me... :-) But nice that you are moving away from the custom fork of GStreamer - we do have GStreamer 1.16 in the openSUSE Leap (stable) repositories as well, so I assume I'll be good on that end.