gst-plugins-base-0.10.32: GST_DISABLE_XML=1 doesn't work in gstsubparse.c

bcxa sz bcxa.sz at gmail.com
Wed Aug 17 00:05:24 PDT 2011


I think I have found the reason:

The current command line has the parameter --prefix=/usr. It is
correct if from the embedded system target point of view.

But when configure gst-plugins-base-0.10.32,

in gst-plugins-base-0.10.32/configure
==========================================================================
GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir
gstreamer-0.10`"/gst/gstconfig.h"

It will try to find the includedir with pk-config
[root at fedora14 gst-plugins-base-0.10.32]# cat
/opt/STM/STLinux-2.4/devkit/sh4/target/usr/lib/pkgconfig/gstreamer-0.10.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/gstreamer-0.10
toolsdir=${exec_prefix}/bin
pluginsdir=${libdir}/gstreamer-0.10
datarootdir=${prefix}/share
datadir=${datarootdir}
girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0

Name: GStreamer
Description: Streaming media framework
Requires: glib-2.0, gobject-2.0, gmodule-no-export-2.0, gthread-2.0, libxml-2.0
Version: 0.10.34
Libs: -L${libdir} -lgstreamer-0.10
Cflags: -I${includedir}
==============================================================================

But unfortunately, it will try to find the header file at host
/usr/include/gstreamer-0.10/gst/gstconfig.h. But it should find this
header file at:
===============================================================================
[root at fedora14 gst-plugins-base-0.10.32]# ls
/opt/STM/STLinux-2.4/devkit/sh4/target/usr/include/gstreamer-0.10/gst/gstconfig.h
/opt/STM/STLinux-2.4/devkit/sh4/target/usr/include/gstreamer-0.10/gst/gstconfig.h
===============================================================================

So I think this one should be gstreamer cross compile issue. Do you
have some suggestion to fix?


On Wed, Aug 17, 2011 at 12:06 PM, bcxa sz <bcxa.sz at gmail.com> wrote:
> With some close looking, I suspect this may be due to my build issue.
>
> in gst-plugins-base-0.10.32/configure
> ==========================================================================
> GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir
> gstreamer-0.10`"/gst/gstconfig.h"
>
>  grep >/dev/null "#undef GST_DISABLE_XML" $GST_CONFIGPATH
>  if test $? = 0; then
>    GST_DISABLE_XML=0
>  else
>    GST_DISABLE_XML=1
>  fi
>
>  It should search the gstreamer-0.10.32/gst/gstconfig.h to find
> whether have "#undef GST_DISABLE_XML". And look at the
> gstreamer-0.10.32/gst/gstconfig.h:
> =========================================================================
> /**
>  * GST_DISABLE_XML:
>  *
>  * Configures the use libxml2. This setting is derived from the settings of
>  * %GST_DISABLE_LOADSAVE and %GST_DISABLE_REGISTRY (in the xml registry case).
>  */
> /* #undef GST_DISABLE_XML */
>
> Code is there. So it means that GST_DISABLE_XML should be 0, not 1.
> Unless, the gstconfig.h is not found. This is what I suspected.
>
> Then I configure gst-plugins-base-0.10.32 again and found:
> ========================================================
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
> grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory
>
>
> On Wed, Aug 17, 2011 at 10:11 AM, bcxa sz <bcxa.sz at gmail.com> wrote:
>> Hi Tim,
>>
>> On Tue, Aug 16, 2011 at 6:41 PM, Tim-Philipp Müller <t.i.m at zen.co.uk> wrote:
>>> On Tue, 2011-08-16 at 18:35 +0800, bcxa sz wrote:
>>>
>>>> And in gstconfig.h, I didn't see these flags are set and all is
>>>> commented like below.
>>>> ====================================================================
>>>> /* trick gtk-doc into believing these symbols are defined (yes, it's ugly) */
>>>> #if 0
>>>> #define GST_DISABLE_GST_DEBUG 1
>>>> #define GST_DISABLE_LOADSAVE 1
>>>> #define GST_DISABLE_PARSE 1
>>>> #define GST_DISABLE_TRACE 1
>>>> #define GST_DISABLE_ALLOC_TRACE 1
>>>> #define GST_DISABLE_REGISTRY 1
>>>> #define GST_DISABLE_PLUGIN 1
>>>> #define GST_DISABLE_XML 1
>>>> #define GST_DISABLE_LOADSAVE_REGISTRY 1
>>>> #define GST_HAVE_GLIB_2_8 1
>>>> #endif
>>>
>>> Checked further down? there should be something like:
>>>
>>> /**
>>>  * GST_DISABLE_XML:
>>>  *
>>>  * Configures the use libxml2. This setting is derived from the settings
>>> of
>>>  * %GST_DISABLE_LOADSAVE and %GST_DISABLE_REGISTRY (in the xml registry
>>> case).
>>>  */
>>> /* #undef GST_DISABLE_XML */
>>>
>>
>> Yes, I saw this piece of code and it is commented. And after this,
>>
>> /***** Deal with XML stuff, we have to handle both loadsave and registry *****/
>> /* FIXME: move include to where we need it */
>> /*#if (! (defined(GST_DISABLE_LOADSAVE) && defined(GST_DISABLE_REGISTRY)) )*/
>> #ifndef GST_DISABLE_XML
>> #ifndef GST_DISABLE_DEPRECATED
>> # include <libxml/parser.h>
>> #endif
>> #else
>>  /* FIXME: 0.11 (replace by GST_DISABLE_XML) */
>> # define GST_DISABLE_LOADSAVE_REGISTRY
>> #endif
>>
>> But I still can not see where GST_DISABLE_XML defined.
>>
>> And I have one question on how GST_DISABLE_XML is set, check which condition.
>>
>> I looked at the gstreamer on Fedor14. Fedora14 is also use libxml2 but
>> why GST_DISABLE_XML = 0?
>>
>> My embedded system is also use libxml2 but GST_DISABLE_XML = 1.
>>
>> Sorry, I am not familiar with gstreamer auto configure. And any
>> document on this?
>>>
>>> -Tim
>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>
>


More information about the gstreamer-devel mailing list