After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 663600 - [subparse] - not get cross compiled
[subparse] - not get cross compiled
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.x
Other Windows
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-11-08 07:32 UTC by bcxa.sz
Modified: 2014-05-22 15:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to fix the subparse cross compilation (715 bytes, patch)
2011-11-08 07:35 UTC, bcxa.sz
none Details | Review
simplified patch (1.07 KB, patch)
2012-04-04 22:38 UTC, Andreas Oberritter
none Details | Review

Description bcxa.sz 2011-11-08 07:32:39 UTC
The current command line to configure the gst-plugins-base-0.10.32 has the
parameter --prefix=/usr. It is correct if from the 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@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
/usr/include/gstreamer-0.10/gst/gstconfig.h. And it should find this header
file at:
===============================================================================
[root@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. And gstreamer should consider the environment variable which indicates the target file system location: (in my example)

export PKG_CONFIG_SYSROOT_DIR=/opt/STM/STLinux-2.4/devkit/sh4/target/

And the configure.ac should be changed as below: (patch attaced also)
==================================================================
 GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h"
+GST_CONFIGPATH=$PKG_CONFIG_SYSROOT_DIR$GST_CONFIGPATH
Comment 1 bcxa.sz 2011-11-08 07:35:42 UTC
Created attachment 200955 [details] [review]
patch to fix the subparse cross compilation
Comment 2 David Schleef 2011-12-09 02:49:05 UTC
If we need to know the features that are compiled in to libgstreamer, then a) we have already failed, and b) this information should go into the gstreamer-0.10.pc file.  We shouldn't go digging into the gstconfig.h file.
Comment 3 David Schleef 2011-12-09 02:51:44 UTC
Er, a) is supposed to be "the empire has already won".
Comment 4 bcxa.sz 2011-12-12 12:00:39 UTC
(In reply to comment #3)
> Er, a) is supposed to be "the empire has already won".

sorry, don't understand. I am not native english speaker. I just add $PKG_CONFIG_SYSROOT_DIR in cofigure.ac.
Comment 5 Andreas Oberritter 2012-04-04 22:38:08 UTC
Created attachment 211346 [details] [review]
simplified patch

Tested in an OpenEmbedded environment.
Comment 6 Sebastian Dröge (slomo) 2013-08-16 11:30:21 UTC
Is this still a problem with 1.0? GStreamer is successfully cross-compiled for many platforms nowadays.
Comment 7 Edward Hervey 2014-05-19 13:56:17 UTC
Andreas, is this still an issue with 1.0 ?
Comment 8 Edward Hervey 2014-05-22 15:05:03 UTC
Closing. Please re-open if you still can't cross-compile anything with 1.x