diff options
author | Olivier Crête <olivier.crete@collabora.com> | 2016-10-09 14:33:39 +0200 |
---|---|---|
committer | Olivier Crête <olivier.crete@collabora.com> | 2016-10-09 14:33:39 +0200 |
commit | 9736d9a0b2de00fce73ff7d7667a64b12c446c00 (patch) | |
tree | 14f7e569cea245dac3a7bd7a01834613f5107207 | |
parent | 27414a322f6329c747aa4634fe4223ecd8ccb926 (diff) |
Update the installing on Linux page
-rw-r--r-- | sdk-installing-on-linux.md | 245 | ||||
-rw-r--r-- | sitemap.txt | 1 |
2 files changed, 22 insertions, 224 deletions
diff --git a/sdk-installing-on-linux.md b/sdk-installing-on-linux.md index 36ae36c..9a79363 100644 --- a/sdk-installing-on-linux.md +++ b/sdk-installing-on-linux.md @@ -2,183 +2,37 @@ ## Prerequisites -To develop applications using the GStreamer SDK on Linux you will need -one of the following supported distributions: - - - Ubuntu Precise Pangolin (12.04) - - Ubuntu Quantal Quetzal (12.10) - - Ubuntu Raring Ringtail (13.04) - - Debian Squeeze (6.0) - - Debian Wheezy (7.0) - - Fedora 17 - - Fedora 18 - -Other distributions or version might work, but they have not been -tested. If you want to try, do it at your own risk\! +GStreamer is included in all Linux distributions. We recommend using the latest version of a fast moving distribution such as Fedora, Ubuntu (non-LTS), Debian sid or OpenSuse to get a recent GStreamer release. All the commands given in this section are intended to be typed in from a terminal. -<table> -<tbody> -<tr class="odd"> -<td><img src="images/icons/emoticons/warning.png" width="16" height="16" /></td> -<td><p>Make sure you have superuser (root) access rights to install the GStreamer SDK.</p></td> -</tr> -</tbody> -</table> - -## Download and install the SDK - -The GStreamer SDK provides a set of binary packages for supported Linux -distributions. Detailed instructions on how to install the packages for -each supported distribution can be found below. Optionally, you can -download the source code and build the SDK yourself, which should then -work on any platform. - -These packages will install the SDK at `/opt/gstreamer-sdk`. If you -build the SDK yourself, you can install it anywhere you want. - -![](images/icons/grey_arrow_down.gif)Ubuntu (Click here to expand) - -In order to install the SDK on **Ubuntu**, it is required that the -public repository where the SDK resides is added to the apt sources -list. - -To do so, download the appropriate definition file for your -distribution: - - - Ubuntu Precise Pangolin (12.04) - [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/precise/i386/gstreamer-sdk.list) [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/precise/amd64/gstreamer-sdk.list) - - - Ubuntu Quantal Quetzal (12.10) - [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/quantal/i386/gstreamer-sdk.list) [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/quantal/amd64/gstreamer-sdk.list) - - - Ubuntu Raring Ringtail (13.04) - [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/raring/i386/gstreamer-sdk.list) [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ubuntu/raring/amd64/gstreamer-sdk.list) - -And copy it to the `/etc/apt/sources.list.d/` directory on your system: - -``` -sudo cp gstreamer-sdk.list /etc/apt/sources.list.d/ -``` - -After adding the repositories, the GPG key of the apt repository has to -be added and the apt repository list needs to be refreshed. This can be -done by -running: +> ![Warning](images/icons/emoticons/warning.png) +Make sure you have superuser (root) access rights to install the GStreamer SDK. -``` -wget -q -O - http://www.freedesktop.org/software/gstreamer-sdk/sdk.gpg | sudo apt-key add - -sudo apt-get update -``` - -Now that the new repositories are available, install the SDK with the -following command: - -``` -sudo apt-get install gstreamer-sdk-dev -``` - -Enter the superuser/root password when prompted. - -![](images/icons/grey_arrow_down.gif)Debian (Click here to expand) +## Install GStreamer on Fedora -In order to install the SDK on **Debian**, it is required that the -public repository where the SDK resides is added to the apt sources -list. - -To do so, download the appropriate definition file for your -distribution: - - - Debian Squeeze (6.0) - [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/squeeze/i386/gstreamer-sdk.list) - [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/squeeze/amd64/gstreamer-sdk.list) - - - Debian Wheezy (7.0) - [i386](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/wheezy/i386/gstreamer-sdk.list) - [amd64](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/debian/wheezy/amd64/gstreamer-sdk.list) - -And copy it to the `/etc/apt/sources.list.d/` directory on your system: +Run the following command: ``` -su -c 'cp gstreamer-sdk.list /etc/apt/sources.list.d/' +dnf install gstreamer1-devel gstreamer1-plugins-base-tools gstreamer1-devel-docs gstreamer1-plugins-base-devel gstreamer1-plugins-base-devel-docs gstreamer1-plugins-good gstreamer1-plugins-good-extras gstreamer1-plugins-ugly gstreamer1-plugins-ugly-devel-docs gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-devel gstreamer1-plugins-bad-free-extras ``` -After adding the repositories, the GPG key of the apt repository has to -be added and the apt repository list needs to be refreshed. This can be -done by -running: +## Install GStreamre on Ubuntu or Debian -``` -su -c 'wget -q -O - http://www.freedesktop.org/software/gstreamer-sdk/sdk.gpg | apt-key add -' -su -c 'apt-get update' -``` +Run the following command: -Now that the new repositories are available, install the SDK with the -following command: +` apt-get install .... ` -``` -su -c 'apt-get install gstreamer-sdk-dev' -``` - -Enter the superuser/root password when prompted. - -![](images/icons/grey_arrow_down.gif)Fedora (Click here to expand) - -In order to install the SDK on **Fedora**, it is required that the -public repository where the SDK resides is added to the yum sources -list. - -To do so, download the appropriate definition file for your -distribution: - - - [Fedora 17](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/fedora/gstreamer-sdk.repo) - - - [Fedora 18](http://www.freedesktop.org/software/gstreamer-sdk/data/packages/fedora/gstreamer-sdk.repo) - -And copy it to the `/etc/yum.repos.d/` directory on your system: - -``` -su -c 'cp gstreamer-sdk.repo /etc/yum.repos.d/' -``` - -After adding the repositories, the yum repository list needs to be -refreshed. This can be done by running: - -``` -su -c 'yum update' -``` - -Now that the new repositories are available, install the SDK with the -following command: - -``` -su -c 'yum install gstreamer-sdk-devel' -``` - -Enter the superuser/root password when prompted. - -## Configure your development environment - -When building applications using GStreamer, the compiler must be able to -locate its libraries. However, in order to prevent possible collisions -with the GStreamer installed in the system, the GStreamer SDK is -installed in a non-standard location `/opt/gstreamer-sdk`. The shell -script `gst-sdk-shell` sets the required environment variables for -building applications with the GStreamer SDK: - -``` bash -/opt/gstreamer-sdk/bin/gst-sdk-shell -``` +## Building applications using GStreamer The only other “development environment” that is required is -the `gcc` compiler and a text editor. In order to compile code that +the `gcc` compiler and a text editor. In order to compile code that requires the GStreamer SDK and uses the GStreamer core library, remember -to add this string to your `gcc` command: +to add this string to your `gcc` command: ``` -`pkg-config --cflags --libs gstreamer-1.0` +pkg-config --cflags --libs gstreamer-1.0 ``` If you're using other GStreamer libraries, e.g. the video library, you @@ -187,22 +41,7 @@ have to add additional packages after gstreamer-1.0 in the above string If your application is built with the help of libtool, e.g. when using automake/autoconf as a build system, you have to run -the `configure `script from inside the `gst-sdk-shell` environment. - -<table> -<tbody> -<tr class="odd"> -<td><img src="images/icons/emoticons/information.png" width="16" height="16" /></td> -<td><p>You have also the option to embed the SDK's path into your binaries so they do not need to be executed from within the <code>gst-sdk-shell</code>. To do so, add these options to gcc:</p> -<div class="code panel" style="border-width: 1px;"> -<div class="codeContent panelContent"> -<pre class="theme: Default; brush: plain; gutter: false" style="font-size:12px;"><code>-Wl,-rpath=/opt/gstreamer-sdk/lib `pkg-config --cflags --libs gstreamer-1.0`</code></pre> -</div> -</div> -<p>In case you are using libtool, it will automatically add the <code>-Wl </code>and<code> -rpath</code> options and you do not need to worry about it.</p></td> -</tr> -</tbody> -</table> +the `configure` script from inside the `gst-sdk-shell` environment. #### Getting the tutorial's source code @@ -210,71 +49,29 @@ The source code for the tutorials can be copied and pasted from the tutorial pages into a text file, but, for convenience, it is also available in a GIT repository and distributed with the SDK. -The GIT repository can be cloned with: +The GIT repository can be cloned with: ``` -git clone git://anongit.freedesktop.org/gstreamer-sdk/gst-sdk-tutorials +git clone git://anongit.freedesktop.org/gstreamer/gst-sdk-tutorials ``` -Or you can locate the source code in -`/opt/gstreamer-sdk/share/gst-sdk/tutorials`, and copy it to a working -folder of your choice. - #### Building the tutorials -You need to enter the GStreamer SDK shell in order for the compiler to -use the right libraries (and avoid conflicts with the system libraries). -Run `/opt/gstreamer-sdk/bin/gst-sdk-shell` to enter this shell. - -Then go to the folder where you copied/cloned the tutorials and -write: - ``` gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-1.0` ``` Using the file name of the tutorial you are interested in -(`basic-tutorial-1` in this example). +(`basic-tutorial-1` in this example). -<table> -<tbody> -<tr class="odd"> -<td><img src="images/icons/emoticons/warning.png" width="16" height="16" /></td> -<td><p><strong>Depending on the GStreamer libraries you need to use, you will have to add more packages to the <code class="western">pkg-config </code>command, besides <code class="western">gstreamer-1.0</code></strong></p> -<p>At the bottom of each tutorial's source code you will find the command for that specific tutorial, including the required libraries, in the required order.</p> -<p>When developing your own applications, the GStreamer documentation will tell you what library a function belongs to.</p></td> -</tr> -</tbody> -</table> +> ![Warning](images/icons/emoticons/warning.png) Depending on the GStreamer libraries you need to use, you will have to add more packages to the `pkg-config` command, besides `gstreamer-1.0` +> At the bottom of each tutorial's source code you will find the command for that specific tutorial, including the required libraries, in the required order. +> When developing your own applications, the GStreamer documentation will tell you what library a function belongs to. #### Running the tutorials -To run the tutorials, simply execute the desired tutorial (**from within -the `gst-sdk-shell`**): +To run the tutorials, simply execute the desired tutorial: ``` c ./basic-tutorial-1 ``` - -#### Deploying your application - -Your application built with the GStreamer SDK must be able locate the -GStreamer libraries when deployed in the target machine. You have at -least a couple of options: - -If you want to install a shared SDK, you can put your application -in `/opt/gstreamer-sdk` (next to the SDK) and create a `.desktop` file -in `/usr/share/applications` pointing to it. For this to work without -any problems you must make sure that your application is built with -the `-Wl,-rpath=/opt/gstreamer-sdk/lib` parameter (this is done -automatically by libtool, if you use it). - -Or, you can deploy a wrapper script (similar to `gst-sdk-shell`), which -sets the necessary environment variables and then calls your application -and create a `.desktop` file in `/usr/share/applications` pointing to -the wrapper script. This is the most usual approach, doesn't require the -use of the `-Wl,-rpath` parameters and is more flexible. Take a look -at `gst-sdk-shell` to see what this script needs to do. It is also -possible to create a custom wrapper script with -the `gensdkshell` command of the Cerbero build system, if you built -the SDK yourself as explained above. diff --git a/sitemap.txt b/sitemap.txt index 7dab472..7ae3641 100644 --- a/sitemap.txt +++ b/sitemap.txt @@ -4,6 +4,7 @@ index.md sdk-installing-for-ios-development.md sdk-installing-on-mac-osx.md sdk-installing-on-windows.md + sdk-installing-on-linux.md sdk-building-from-source-using-cerbero.md sdk-tutorials.md sdk-basic-tutorials.md |