make is not finding libgstapp - appsrc

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

make is not finding libgstapp - appsrc

rick b
All.

I'm trying to work with https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html

When I run gst-inspect-1.0 I see that it's using
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstapp.so

I look at this location and I can clearly see that the library file is right there.
I have already been working on a gstreamer app, so I know this particular Eclipse Neon project is setup properly.
I've added libgstapp to my list of libraries in my Eclipse Neon project.  

Yet, when I build the app, Eclipse is reporting back out "cannot find -llibgstapp

Am I trying to include the wrong library name?
Something to note, in order to get this library I had to run the install specified here
https://www.howtoinstall.co/en/ubuntu/xenial/libgstreamer-plugins-base1.0-dev

I even added the gstreamer path in the "Library search path" in Eclipse.  Still didn't help.

Thoughts?


Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Tim Müller
On Fri, 2016-11-11 at 12:58 -0800, rick b wrote:

Hi Rick,

There are two things which are similarly named but not quite the same.

There is the libgstapp.so *plugin* in $libdir/gstreamer-1.0/ which
contains the appsrc element. It links to the libgstapp-
1.0.{so,dll,whatever} library which is in $libdir on level up (note the
-1.0 suffix).

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

rick b
Hi Tim.
I don't actually have a libgstapp-1,0.so.  Only libgstapp.so

The exact path to this file is
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstapp.so


Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Nicolas Dufresne-5
Le vendredi 11 novembre 2016 à 13:30 -0800, rick b a écrit :
> Hi Tim.
> I don't actually have a libgstapp-1,0.so.  Only libgstapp.so
>
> The exact path to this file is
> /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstapp.so

You have to look one directory up. Should be:

/usr/lib/x86_64-linux-gnu/libgstapp-1.0.so

Note that to get the right build and link flags you should use pkg-
config in your build scripts. Try the following:

  pkg-config --libs --cflags gstreamer-app-1.0

regards,
Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

rick b
OOOOHHHH... Ok, that's what Tim meant by one level up. For some reason it didn't click in my head for some reason.  I just looked and yep, there it is.

Is there any reason why it's in this folder rather than in the gstreamer1.0 folder?  I'm sure there is a reason but, why is it there in x86_64-linux-gnu ?

THANK YOU GUYS SO SO VERY MUCH!!!!


Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

rick b
Well... My excitement just flew out the window.  I guess I still need help. The tool chain in eclipse is still not finding the library.
Even though I have added a direct path to this library, the tool chain in eclipse is still not seeing it.

I know you mentioned something about pkg-config.  To be honest, I tried to read up on it a week ago, but found it to be very confusing.  I come from a Microsoft Visual Studio background.  I've only recently started developing in the Linux world and often times feel like I'm way in over my head.

I really need some very explicit instructions I guess on how to setup my development environment.  As mentioned, everything was working until I tried to add this library libgstapp-1.0

Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Mandar Joshi
In reply to this post by rick b
>
> Yet, when I build the app, Eclipse is reporting back out "cannot find
> -llibgstapp
>
pkg-config is the right way to do things but if you really want to add
all the libraries manually, you need to specify the directory which
contains those libraries with the -L option.
So, in Eclipse wherever, you have specified "-llibgstapp", also enter
"-L/usr/lib/x86_64-linux-gnu/gstreamer-1.0/" without the quotes.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Mandar Joshi
> So, in Eclipse wherever, you have specified "-llibgstapp", also enter
> "-L/usr/lib/x86_64-linux-gnu/gstreamer-1.0/" without the quotes.

In this screen shot
(http://gstreamer-devel.966125.n4.nabble.com/file/n4680629/gstreamer_libs.png),
there seems to be an 'Add' button for the 'Library Search Path' in the
bottom right section.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Mandar Joshi
In reply to this post by Mandar Joshi
> So, in Eclipse wherever, you have specified "-llibgstapp", also enter
> "-L/usr/lib/x86_64-linux-gnu/gstreamer-1.0/" without the quotes.
Sorry, made an error.
An example command to link to a library is
gcc -o test test.c -lgstapp-1.0
and not
gcc -o test test.c -llibgstapp-1.0
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

rick b
Hi Mandar... Still not working.
On my computer the library is in "/usr/lib/x86_64-linux-gnu"
As you can see from the image, I've added that AND /usr/lib/x86_64-linux-gnu/gstreamer-1.0.  I've tried both these with AND without the -L in front of the paths.

Am I specifying the correct library? "libgstapp-1.0 ???
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Mandar Joshi
> Am I specifying the correct library? "libgstapp-1.0 ???
> <http://gstreamer-devel.966125.n4.nabble.com/file/n4680633/linksetup.png>
>
Try linking to gstapp-1.0 instead of libgstapp-1.0
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Nicolas Dufresne-5
In reply to this post by rick b
Le vendredi 11 novembre 2016 à 19:55 -0800, rick b a écrit :
> OOOOHHHH... Ok, that's what Tim meant by one level up. For some
> reason it
> didn't click in my head for some reason.  I just looked and yep,
> there it
> is.
>
> Is there any reason why it's in this folder rather than in the
> gstreamer1.0

gstreamer1.0/ is the plugin folder. This is what GStreamer plugin
loader enumerates to find the plugins. So plugins are specially crafted
shared object. While the one level up, is the multilib system library
on your system. This one is for x86_64. This design is used to allow
supporting multiple architecture, like 32bit and 64bit Intel
instruction set. Note that on Redhat variants (like fedora) it's simply
using /lib and /lib64 to differentiate.

Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Nicolas Dufresne-5
In reply to this post by Mandar Joshi
Le samedi 12 novembre 2016 à 10:41 +0530, Mandar Joshi a écrit :

> >
> >
> > Yet, when I build the app, Eclipse is reporting back out "cannot
> > find
> > -llibgstapp
> >
> pkg-config is the right way to do things but if you really want to
> add
> all the libraries manually, you need to specify the directory which
> contains those libraries with the -L option.
> So, in Eclipse wherever, you have specified "-llibgstapp", also enter
> "-L/usr/lib/x86_64-linux-gnu/gstreamer-1.0/" without the quotes.
Note, adding this link directory is incorrect. This is the plugin
directory. You should not link plugins.

Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

Nicolas Dufresne-5
In reply to this post by rick b
Hi,

so pkg-config is a convenience on Linux and other similar Unix based
platforms to help integrate other libraries in your project. It's very
similar to VS property sheets, except that you use a command line tool
to request the information rather then manually looking for a file on
your system.

For your interest, the descriptions used by pkg-config are usually
located in folders like (Debian/Ubuntu):

  /usr/lib/x86_64-linux-gnu/pkgconfig/
  /usr/lib/pkgconfig

You normally don't need to access those files, but sometimes it's
useful to check if what you are looking for is properly installed.
Those directories will contains text files with the extension '.pc'.

Those files are installed with -dev variant of the packages. In your
case, you need to make sure you have the following package installed:

  apt install libgstreamer-plugins-base1.0-dev

This package will pull libgstreamer1.0-dev and include all the base
libraries that extend the core of GStreamer. Remeber that GStreamer is
a collection of libraries and dynamic list of plugins (plugins being
shared library also, but you don't link to them though).

About Eclipse, you have two options. You may use pkg-config as describe
earlier and just copy the information in your project. But ideally you
should use some pkg-config specific utility. Google told me that it
exists:

  https://marketplace.eclipse.org/content/pkg-config-support-eclipse-cdt

I don't usually use Eclipse myself. You may look toward using other
build systems, like Meson or CMake, which have built-in support for
that, but no graphical user interface.

regards,
Nicolas

Le vendredi 11 novembre 2016 à 20:13 -0800, rick b a écrit :

> Well... My excitement just flew out the window.  I guess I still need
> help.
> The tool chain in eclipse is still not finding the library.
> Even though I have added a direct path to this library, the tool
> chain in
> eclipse is still not seeing it.
>
> I know you mentioned something about pkg-config.  To be honest, I
> tried to
> read up on it a week ago, but found it to be very confusing.  I come
> from a
> Microsoft Visual Studio background.  I've only recently started
> developing
> in the Linux world and often times feel like I'm way in over my
> head. 
>
> I really need some very explicit instructions I guess on how to setup
> my
> development environment.  As mentioned, everything was working until
> I tried
> to add this library libgstapp-1.0
>
> <http://gstreamer-devel.966125.n4.nabble.com/file/n4680629/gstreamer_
> libs.png> 
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble
> .com/make-is-not-finding-libgstapp-appsrc-tp4680621p4680629.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: make is not finding libgstapp - appsrc

rick b
Nicolas Dufresne-5 wrote
Hi,

so pkg-config is a convenience on Linux and other similar Unix based
platforms to help integrate other libraries in your project. It's very
similar to VS property sheets, except that you use a command line tool
to request the information rather then manually looking for a file on
your system.

For your interest, the descriptions used by pkg-config are usually
located in folders like (Debian/Ubuntu):

  /usr/lib/x86_64-linux-gnu/pkgconfig/
  /usr/lib/pkgconfig

You normally don't need to access those files, but sometimes it's
useful to check if what you are looking for is properly installed.
Those directories will contains text files with the extension '.pc'.

Those files are installed with -dev variant of the packages. In your
case, you need to make sure you have the following package installed:

  apt install libgstreamer-plugins-base1.0-dev

This package will pull libgstreamer1.0-dev and include all the base
libraries that extend the core of GStreamer. Remeber that GStreamer is
a collection of libraries and dynamic list of plugins (plugins being
shared library also, but you don't link to them though).

About Eclipse, you have two options. You may use pkg-config as describe
earlier and just copy the information in your project. But ideally you
should use some pkg-config specific utility. Google told me that it
exists:

  https://marketplace.eclipse.org/content/pkg-config-support-eclipse-cdt

I don't usually use Eclipse myself. You may look toward using other
build systems, like Meson or CMake, which have built-in support for
that, but no graphical user interface.

regards,
Nicolas
Thank you Nicolas. Rigth now I am cramming to meet some deadlines at work. I am interested in learning more about this subject.  I have a couple demos to present next week. After that, I should have time to come back and read more and start ramping on it.

I did get my project to work once I linked in the proper library...
Does GStreamer have a package name/library name cheat sheet that have not yet found?

Thanks!!!
Rick