Win32/Perl Bindings/gstreamer-0.10.pc

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

Win32/Perl Bindings/gstreamer-0.10.pc

Jeffrey Ray
I am running attempting to install the Perl bindings GStreamer on a windows machine (vista, with perl being the lastest version of camelbox). I get this message when I run perl makefile.pl.


Package gstreamer-0.10 was not found in the pkg-config search path.
>    Perhaps you should add the directory containing `gstreamer-0.10.pc'
>      to the PKG_CONFIG_PATH environment variable


I have installed the GStreamer binaries (and the dev package) from this location:

http://www.gstreamer-winbuild.ylatuya.es/doku.php?id=start

It does not include the gstreamer-0.10.pc file.  How do I acquire/create this file? Am I going to have to build GStreamer myself? It is worth noting that the GStreamer binaries above are compiled with Microsoft tools and camelbox and the libraries included with it (gtk, glib, etc) are compiled with gcc? My gut tells me yes...

Thank you in advance!

-Jeff


------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Win32/Perl Bindings/gstreamer-0.10.pc

Andoni Morales
2009/12/13 Jeffrey Ray <[hidden email]>:

> I am running attempting to install the Perl bindings GStreamer on a windows machine (vista, with perl being the lastest version of camelbox). I get this message when I run perl makefile.pl.
>
>
> Package gstreamer-0.10 was not found in the pkg-config search path.
>>    Perhaps you should add the directory containing `gstreamer-0.10.pc'
>>      to the PKG_CONFIG_PATH environment variable
>
>
> I have installed the GStreamer binaries (and the dev package) from this location:
>
> http://www.gstreamer-winbuild.ylatuya.es/doku.php?id=start
>
> It does not include the gstreamer-0.10.pc file.  How do I acquire/create this file? Am I going to have to build GStreamer myself? It is worth noting that the GStreamer binaries above are compiled with Microsoft tools and camelbox and the libraries included with it (gtk, glib, etc) are compiled with gcc? My gut tells me yes...
>
Hi,
In the beginning GStreamer Winbuilds was intended to be used with VS,
and for this reason we were only including the import libraries, but
we are working to improve the integration with mingw so other FFOS
projects can take benefit of it. The objective was to provide a simple
way for windows developers to work with GStreamer  without having to
worry about  all the external dependencies and be able to compile
GStreamer with a simple click, in the Windows way :p
Las week I was able to build all the gstreamer modules with mingw, but
if you only need to build the bindings without having to compile
everything you can just modify the pkgconfig files that comes in the
gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values
to your installation path (which should be c:\gstreamer,
c:\gstreamer\lib, etc..).
The current installer doesn't update the prefix of the pkgconfig files
and those files point to wrong dirs, but we have for that a set a
templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with
c:\gstreamer with sed for example. Doing these steps you should be
able to build the bindings.
Regarding the compatibility between the GStreamer binaries built using
MSVC and other binaries built using GCC, you don't have to fear
anything. Even if the binaries are built using MSVC, they are linked
against the old crt, msvcrt.dll, and not the 9.0 crt, which is the one
used by mingw. In fact, all the external dependencies like glib,
pango, cairo, etc.. are built with gcc while the gstreamer binaries
are built with MSVC.
As I said we are working hard to do everything in the Linux way, and
in the next release we will try to include all the files needed to
build projects depending on GStreamer using mingw.
Cheers,
Andoni


[0]http://cgit.freedesktop.org/gstreamer/gstreamer/tree/pkgconfig
[1]http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/templates/

> Thank you in advance!
>
> -Jeff
>
>
> ------------------------------------------------------------------------------
> Return on Information:
> Google Enterprise Search pays you back
> Get the facts.
> http://p.sf.net/sfu/google-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
Andoni Morales Alastruey

LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Win32/Perl Bindings/gstreamer-0.10.pc

Jeffrey Ray
Andoni Morales wrote:

> Hi,
> In the beginning GStreamer Winbuilds was intended to be used with VS,
> and for this reason we were only including the import libraries, but
> we are working to improve the integration with mingw so other FFOS
> projects can take benefit of it. The objective was to provide a simple
> way for windows developers to work with GStreamer  without having to
> worry about  all the external dependencies and be able to compile
> GStreamer with a simple click, in the Windows way :p
> Las week I was able to build all the gstreamer modules with mingw, but
> if you only need to build the bindings without having to compile
> everything you can just modify the pkgconfig files that comes in the
> gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values
> to your installation path (which should be c:\gstreamer,
> c:\gstreamer\lib, etc..).
> The current installer doesn't update the prefix of the pkgconfig files
> and those files point to wrong dirs, but we have for that a set a
> templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with
> c:\gstreamer with sed for example. Doing these steps you should be
> able to build the bindings.
> Regarding the compatibility between the GStreamer binaries built using
> MSVC and other binaries built using GCC, you don't have to fear
> anything. Even if the binaries are built using MSVC, they are linked
> against the old crt, msvcrt.dll, and not the 9.0 crt, which is the one
> used by mingw. In fact, all the external dependencies like glib,
> pango, cairo, etc.. are built with gcc while the gstreamer binaries
> are built with MSVC.
> As I said we are working hard to do everything in the Linux way, and
> in the next release we will try to include all the files needed to
> build projects depending on GStreamer using mingw.
> Cheers,
> Andoni
>
>
> [0]http://cgit.freedesktop.org/gstreamer/gstreamer/tree/pkgconfig
> [1]http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/templates/
>
>
>  
Hey, thanks a lot - that was very helpful and informative. I followed
your instructions which i believe were:
- acquire files from source[0] and edit @vars@.
- acquire files from source[1] and replace @SHARED_BUILD_DIR@ with
C:\gstreamer
- rename all files above to remove .in

now when I attempt to build the Perl bindings, i get the output below.


C:\gsperl>perl
Makefile.PL                                                    
Including generated API
documentation...                                      
WARNING: META_MERGE is not a known
parameter.                                  
'META_MERGE' is not a known MakeMaker parameter
name.                          
Note (probably harmless): No library found for
-lgstreamer-0.10                
Note (probably harmless): No library found for
-lxml2                          
Note (probably harmless): No library found for
-lgobject-2.0                  
Note (probably harmless): No library found for
-lglib-2.0                      
Note (probably harmless): No library found for
-lgthread-2.0                  
Writing Makefile for
GStreamer                                                
                                                                               

C:\gsperl>dmake                                                                

Skip blib\lib/GStreamer.pm
(unchanged)                                        
Skip blib\arch/GStreamer/Install/gst2perl.h
(unchanged)                        
cp build/IFiles.pm
blib\arch/GStreamer/Install/Files.pm                        
Skip blib\arch/GStreamer/Install/gst2perl.typemap
(unchanged)                  
Skip blib\arch/GStreamer/Install/doctypes
(unchanged)                          
Skip blib\arch/GStreamer/Install/gst2perl-autogen.h
(unchanged)                
Skip blib\arch/GStreamer/Install/gst.typemap
(unchanged)                      
Skip blib\arch/GStreamer/Install/gst2perl-version.h
(unchanged)                
[ XS xs\Gst.xs
]                                                              
[ CC xs\Gst.c
]                                                                
[ XS xs\GstBin.xs
]                                                            
[ CC xs\GstBin.c
]                                                            
[ XS xs\GstBuffer.xs
]                                                        
[ CC xs\GstBuffer.c
]                                                          
[ XS xs\GstBus.xs
]                                                            
[ CC xs\GstBus.c
]                                                            
[ XS xs\GstCaps.xs
]                                                          
[ CC xs\GstCaps.c ]      
.
.
.
.
[ CC xs\GstTag.c
]                                                            
[ XS xs\GstTagSetter.xs
]                                                      
[ CC xs\GstTagSetter.c
]                                                      
[ XS xs\GstTypeFindFactory.xs
]                                                
[ CC xs\GstTypeFindFactory.c
]                                                
[ XS xs\GstValue.xs
]                                                          
[ CC xs\GstValue.c
]                                                          
Running Mkbootstrap for GStreamer
()                                          
C:\camelbox\bin\perl.exe -MExtUtils::Command -e chmod 644
GStreamer.bs        
dlltool --def GStreamer.def --output-exp
dll.exp                              
[ LD blib\arch\auto\GStreamer\GStreamer.dll
]                                  
xs/Gst.o:Gst.c:(.text+0x47c): undefined reference to
`gst_version'            
xs/Gst.o:Gst.c:(.text+0x5fe): undefined reference to
`gst_version_string'      
xs/Gst.o:Gst.c:(.text+0x669): undefined reference to
`g_free'                  
xs/Gst.o:Gst.c:(.text+0x709): undefined reference to
`gperl_argv_new'          
xs/Gst.o:Gst.c:(.text+0x71a): undefined reference to
`gst_init'                
xs/Gst.o:Gst.c:(.text+0x722): undefined reference to
`gperl_argv_update'      
xs/Gst.o:Gst.c:(.text+0x72a): undefined reference to
`gperl_argv_free'        
xs/Gst.o:Gst.c:(.text+0x7e5): undefined reference to
`gperl_argv_new'            


A few notes/questions: when i was editing the files from source[0] - did
i need to rename any of the files (other than the extension)? I renamed
the gstreamer.pc.in to gstreamer-0.10.pc seems how that is what was
being asked for. Looking at the other .pc's some have the version number
on the end, some don't. They all had a @VERSION@ variable inside to set
- which i set to the version of my gstreamer binary in all files (0.14).
Was this correct? Any ideas on where to go from here?

Thanks again for all the help.

-Jeff




                                                 



------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Win32/Perl Bindings/gstreamer-0.10.pc

Jeffrey Ray
In reply to this post by Andoni Morales
>
> Las week I was able to build all the gstreamer modules with mingw, but
> if you only need to build the bindings without having to compile
> everything you can just modify the pkgconfig files that comes in the
> gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values
> to your installation path (which should be c:\gstreamer,
> c:\gstreamer\lib, etc..).
> The current installer doesn't update the prefix of the pkgconfig files
> and those files point to wrong dirs, but we have for that a set a
> templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with
> c:\gstreamer with sed for example. Doing these steps you should be
> able to build the bindings.
>  
Ok, so I I have deduced why I get the error below when trying to build
the perl bindings.

I have deduced that it is because the Ext ExtUtils::MakeMaker, a perl
utility for makefiles is checking for the existence of

libgstreamer-0.10.a
libxml2.a
 libz.a.
...

Where can I acquire these files - I don't see them with the Gstreamer
winbuilds distribution. Please excuse my ignorance, I am just breaking
into the world of C and GNU on windows (perl is my strong point).

Once again, thank you for the help!

Here is the error message - it is just saying it can't find the files above.

C:\gsperl>PERL Makefile.PL                                    
Including generated API documentation...                      
Note (probably harmless): No library found for -lgstreamer-0.10
Note (probably harmless): No library found for -lxml2          
Note (probably harmless): No library found for -lz            
Note (probably harmless): No library found for -lgobject-2.0  
Note (probably harmless): No library found for -lglib-2.0      
Note (probably harmless): No library found for -lgthread-2.0  
Writing Makefile for GStreamer                                

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Win32/Perl Bindings/gstreamer-0.10.pc

Andoni Morales
2009/12/15 Jeffrey Ray <[hidden email]>:

>>
>> Las week I was able to build all the gstreamer modules with mingw, but
>> if you only need to build the bindings without having to compile
>> everything you can just modify the pkgconfig files that comes in the
>> gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values
>> to your installation path (which should be c:\gstreamer,
>> c:\gstreamer\lib, etc..).
>> The current installer doesn't update the prefix of the pkgconfig files
>> and those files point to wrong dirs, but we have for that a set a
>> templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with
>> c:\gstreamer with sed for example. Doing these steps you should be
>> able to build the bindings.
>>
> Ok, so I I have deduced why I get the error below when trying to build
> the perl bindings.
>
> I have deduced that it is because the Ext ExtUtils::MakeMaker, a perl
> utility for makefiles is checking for the existence of
>
> libgstreamer-0.10.a
> libxml2.a
>  libz.a.
> ...
>
> Where can I acquire these files - I don't see them with the Gstreamer
> winbuilds distribution. Please excuse my ignorance, I am just breaking
> into the world of C and GNU on windows (perl is my strong point).
>
> Once again, thank you for the help!
>
> Here is the error message - it is just saying it can't find the files above.
>
> C:\gsperl>PERL Makefile.PL
> Including generated API documentation...
> Note (probably harmless): No library found for -lgstreamer-0.10
> Note (probably harmless): No library found for -lxml2
> Note (probably harmless): No library found for -lz
> Note (probably harmless): No library found for -lgobject-2.0
> Note (probably harmless): No library found for -lglib-2.0
> Note (probably harmless): No library found for -lgthread-2.0
> Writing Makefile for GStreamer
Hi Jeff,
I released yesterday GStreamer WinBuild 0.10.5, and I did in time to
address the minor issues related with the *pc files path.
When linking to a library using -lgstreamer-0.10, for example, gcc
will try first, by default, to link against a shared library. On
windows it will try, in this case, to link against
libgstreamer-0.10.dll, and if thi file is not found, it will try to
linking statically against libgstreamer-0.10.a. Those files (*.a) are
also included in the developers package (c:\gstreamer\lib), but you
won't need them if c:\gstreamer\bin is in your system PATH and then
gcc is able to link against libgstreamer-0.10.dll.

Cheers
Andoni

> ------------------------------------------------------------------------------
> Return on Information:
> Google Enterprise Search pays you back
> Get the facts.
> http://p.sf.net/sfu/google-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
Andoni Morales Alastruey

LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel