install_dependencies.sh not installing gstreamer in ubuntu

Hello,

I have the latest version of OpenFrameworks from git in Ubuntu (I followed the installation directions). I ran the install_dependencies.sh and it executed with out any errors, but it appears that gstreamer was not installed. When I try to build a basic application I get a “gst/gst.h no such file or directory” error.

I have also tried to execute the following command

sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev gstreamer0.10-ffmpeg libglew1.5-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libgtk2.0-dev libjack-dev python-lxml python-argparse

but I get this error

Note, selecting 'libglew-dev' instead of 'libglew1.5-dev'
Note, selecting 'libsndfile1-dev' instead of 'libsndfile-dev'
Note, selecting 'libpython2.7-stdlib' instead of 'python-argparse'
Package gstreamer0.10-ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'gstreamer0.10-ffmpeg' has no installation candidate

I am at a loss on what to do, ideas?

Thanks,

Are you using 14.04? If this is the case, gstreamer is not officially supported by your OS at the moment. However there is workaround. You can try:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install gstreamer0.10-ffmpeg

Hi sonat_suer,

Yes, I am using 14.04. I installed the repository as you suggested, but gst/gst.h is still not found. Any other ideas?

Also, I am running ubuntu in a Virtual Machine. Can you suggest the best distro/version for OpenFrameworks?

Hmm… Can you try putting

  CC=gcc
  LIBS=`pkg-config gstreamer-0.10 --libs`
  CFLAGS=`pkg-config gstreamer-0.10 --cflags`
 
  all:
        $(CC) $(LIBS) $(CFLAGS) main.cpp

in your make file, changing main.cpp if necessary?

I also use 14.04 and it works fine after some minor tweaking. I guess the latest version of Ubuntu, which is 14.04 at the moment, is the best choice for convenience as it has a very active community. I heard good things about Mint but have not tried it myself.

Also, might I ask why you are using a virtual machine? As far as I understand, openFrameworks is designed to be cross-platform.

Where would I put? Do I just put it at the top of the makefile that was generated with my project?

CC=gcc
LIBS=`pkg-config gstreamer-0.10 --libs`
CFLAGS=`pkg-config gstreamer-0.10 --cflags`

 all:
    $(CC) $(LIBS) $(CFLAGS) main.cpp

I’m using a VM because I am having too much trouble with Visual Studio 2012. I am also sorta new to C (I use C with embedded microcontrollers at work/school and I have lots of Java experience).

My ultimate goal is to run the oxfGstRTP examples ( https://github.com/arturoc/ofxGstRTP), they are not guarantied to work in Windows, so I switched to Ubuntu.

When I try to compile a project I get a fatal error in ofGstUtils.h saying that

fatal error: gst.h: No such files or directory found

So, I changed the line in ofGxtUtils from

    #include <gst/gst.h> 

to

#include <gstreamer-1.0/gst/gst.h>

The project then complained about gst.h

 fatal error: glib.h: No such file or directory

I have learned that the complier is looking in /user/include but it is not searching the subfolders. How do I add /user/include/gstreamer1.0 to be searched by the compiler? Is it something I do in the make files?

The folder structure may be wrong. Are you creating a project with the project creator? If not, can you use it and copy-paste the examples? By the way, don’t forget to add the other addons if the example you will copy depends on them. Some of them seem to depend on ofxNice, for instance. If the folder structure is wrong, then this should solve the issue. If not, there may be a problem with the library installation. In that case, can you write a minimal C++ program outside openFrameworks that uses gst.h and compile it with the make file I wrote above?

can you post the full output of the compiler? this might be that any other package is missing and then the makefiles won’t include any search path so the compiler can’t find gstremer even if it’s there.

you shouldn’t need gstreamer0.10-ffmpeg since that’s from an older version of gstreamer which is not used if you are in ubuntu 14.04

btw ofxGstRTP and ofxGStreamer work under vs2012 without problem too

Hello Arturo!

When I create an Visual Studio project (with OpenFrameworks project generator) and I copy and past in the example_videro_audio_LAN example addon.make and src files, I get this compilation error, see this gist

Using similar steps in linux, I get these errors.

I am cool with either linux or windows, I just need something to work… :smile:

I am using the latest OpenFrameworks from github, BTW. Sonat_suer, I have added the necessary addons to each project. I’ll try to create a minimal C++ program soon.

in windows it seems you haven’t added the addons to the project use the project generator to recreate the example project and add ofxGstRTP, ofxNice, ofxXMPP ofxGStreamer ofxOsc ofxSnappy ofxDepthStreamCompression

in linux it seems you are missing a package that is needed to use the addon, you can isntall it with sudo apt-get install libnice-dev

Hey Arturo,

I installed libnice-dev, but I now get another set of build errors.

Interestingly enough, if I set ENABLE_NAT_TRANSVERSAL to 0 in …/ofxGstRTP/src/ofxGstConstantssh, the program will build, but I get an output windows saying that ofGstVideoUtils not loaded.

BTW, ofxNice is in my addons.make. For reference,

Any ideas?

do you have those addons in your addons folder? also when downloading things from github using a zip file it adds a _master suffix to the folder name be sure that the folders have the name of the addon

I used git to clone the addons and then moved the folders into openFrameworks/addons. Here is a list of folders in the addons folder.

obj                        ofxEchoCancel  ofxKinect      ofxSnappy
ofx3DModelLoader           ofxEmscripten  ofxMultiTouch  ofxSvg
ofxAccelerometer           ofxGStreamer   ofxNetwork     ofxThreadedImageLoader
ofxAndroid                 ofxGstRTP      ofxNice        ofxVectorGraphics
ofxAssimpModelLoader       ofxGui         ofxOpenCv      ofxXmlSettings
ofxDepthStreamCompression  ofxiOS         ofxOsc         ofxXMPP

Any ideas Arturo?

Sucess!!

I installed ubuntu 13.10 on an old laptop (I was using a VM previously) and I finall got the example to compile.

For others who read this someday, GStreamer has issues with being run in a Parallels VM Parallel VM’s standard graphics drivers are not supported by gstreamer.

Thank you Sonat_suer and Arturo for you help!

I’m still not sure why I couldn’t get the example to compile in the VM but IDC.

I’ll be back when I have more questions. :smile: