+++ Pascal PAILLET-LME [2013-04-03 18:51 +0200]:
Hi,
Thank you, I have made good progress today:
gstreamer1.0 is built and armhf debian package is generated. but I have not yet tested in the taget...
Excellent - this stuff is actually useful :-) Do report back if there are issues with it not actually working on the target.
I have tested with both raring and quantal. Finally, I returned to quantal, because I had the same issues on both.
OK. In general raring can be expected to work better, especially for apt-get build-dep
I had to fix a link in my file system: ln -s /usr/share/pkg-config-crosswrapper arm-linux-gnueabihf-pkg-config
That should be supplied by the package: pkg-config-arm-linux-gnueabihf
installing crossbuild-essential-armhf (on raring) would bring this in for you, along with the crosstoolchain and libc-dev:armhf). On quantal you get to install it yourself (or can use crossbuild-essential-armhf if you have my bootstrap repo in your sources list).
sudo apt-get install debhelper cdbs gnome-pkg-tools autotools-dev automake autoconf libtool dh-autoreconf autopoint zlib1g-dev:armhf libglib2.0-dev:armhf libgmp3-dev:armhf libgsl0-dev:armhf pkg-config bison flex dpkg-dev perl-doc python gtk-doc-tools jade transfig docbook-utils docbook-xml docbook-xsl xsltproc ghostscript xmlto netpbm libglib2.0-doc apt-get install gir1.2-glib-2.0:armhf gir1.2-freedesktop:armhf
I don't know how to find by myself the previous line... How to proceed ?
Look at the build-deps for the (source) package and construct this list by hand. A better way would be nice. use your skill and judgement wether you want the build-arch version of a package (most things), or the target arch version (libraries)
apt-get build-dep -a<arch> is supposed to do this for you, but it currently only works for about 1/3rd of ubuntu main. This will improve over time.
the only missing dependencies are libgirepository1.0-dev (>= 0.9.12-4~) gobject-introspection (>= 0.9.12-4~)
I have to do the following export PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig else I fails during install
That probably means that 'pkg-config' is being called somewhere when 'arm-linux-gnueabihf-pkg-config' should be being called. file a bug with a cross-build log.
And I have modified a little bit gstreamer1.0-1.0.1 ( patch is attached ) because of documentation generation issue, small build issue and missing gir* lib...
now, I'm going to try in the target, and try to build some other modules.
diff --git a/gstreamer1.0-1.0.1/debian/rules b/gstreamer1.0-1.0.1/debian/rules index 4485fb8..5b05949 100755 --- a/gstreamer1.0-1.0.1/debian/rules +++ b/gstreamer1.0-1.0.1/debian/rules @@ -248,7 +248,7 @@ common-binary-predeb-arch:: -rm -f debian/shlibs.local install/$(gst_lib_dev)::
- gcc -o debian/tmp/usr/bin/gst-codec-info-1.0 debian/gst-codec-info.c $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `pkg-config --libs --cflags glib-2.0 gthread-2.0 gmodule-no-export-2.0 gobject-2.0` debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libgstreamer-1.0.so -Idebian/tmp/usr/include/gstreamer-1.0
- $(DEB_HOST_MULTIARCH)-gcc -o debian/tmp/usr/bin/gst-codec-info-1.0 debian/gst-codec-info.c $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `pkg-config --libs --cflags glib-2.0 gthread-2.0 gmodule-no-export-2.0 gobject-2.0` debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libgstreamer-1.0.so -Idebian/tmp/usr/include/gstreamer-1.0 perldoc -o man debian/dh_gstscancodecs > debian/tmp/usr/share/man/man1/dh_gstscancodecs.1
This is wrong. It should be: $(DEB_HOST_GNU_TYPE)-gcc
This chunk should be filed as a bug in debian and ubuntu. All the rest of the hacking to skip gir stuff sadly is not upstreamble - we need to fix gir.
Wookey