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... I have tested with both raring and quantal. Finally, I returned to quantal, because I had the same issues on both. I had to fix a link in my file system: ln -s /usr/share/pkg-config-crosswrapper arm-linux-gnueabihf-pkg-config 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 ? 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 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. thank you, best regards pascal On 04/03/2013 05:08 AM, Wookey wrote: +++ Pascal PAILLET-LME [2013-04-02 15:30 +0200]: Hi thank you for your answer ! I have tried to follow [1]https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch with an addon related to multiarch: cat > /etc/apt/apt.conf.d/multiarch-me APT::Architectures { "amd64"; "armhf"; }; is this configuration it correct ? Probably, but in fact it's not normally necessary to set apt config specifically as it will default to using the same arches as dpkg is configured for. So doing 'dpkg --add-architecture armhf' should be all you need to get both dpkg and apt to do the right thing. test with grep-2.10 source code build-dep issue: sbuild --host=armhf -d quantal -c quantal-amd64-sbuild ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install cross build-dependencies (apt-get -a) │ └──────────────────────────────────────────────────────────────────────────────┘ Cross-deps: Running apt-get -aarmhf build-dep grep Reading package lists... Building dependency tree... Reading state information... The following packages have unmet dependencies: debhelper : Depends: po-debconf but it is not going to be installed E: Build-dependencies for grep could not be satisfied. Yep - I get that too. Not entirely clear why as both debhelper and po-debconf are MA:foreign, and sudo apt-get install autotools-dev debhelper gettext libpcre3-dev:armhf works OK. test with gstreamer1.0-1.0.1 source code fails with another issue sbuild --host=armhf -d quantal -c quantal-amd64-sbuild debian/rules:3: /usr/share/cdbs/1/rules/debhelper.mk: No such file or directory debian/rules:4: /usr/share/cdbs/1/class/autotools.mk: No such file or directory debian/rules:5: /usr/share/cdbs/1/rules/utils.mk: No such file or directory debian/rules:7: /usr/share/gnome-pkg-tools/1/rules/clean-la.mk: No such file or directory dpkg-query: no packages found matching gtk-doc-tools make: *** No rule to make target `/usr/share/gnome-pkg-tools/1/rules/clean-la.mk'. Stop. E: Failed to clean source directory OK. This is because you are doing the source-package generation outside the chroot, which needs the packages gtk-doc-tools debhelper and cdbs to be installed on your build machine. This happens because you are running sbuild inside the unpacked source without an explicit package, and the first thing it does is makes the source package. You can either install the necessary build-deps there, or invoke sbuild explicitly on the .dsc file (from the directory above): sbuild --host=armhf -d quantal -c quantal-amd64-sbuild grep_2.12-2.dsc or sbuild --host=armhf -d quantal -c quantal-amd64-sbuild gstreamer1.0-1.0.1-1.dsc which is more convenient depends whether you prefer to build from a source tree or source package files. sudo apt-get -aarmhf build-dep gstreamer1.0 fails because gobject-introspection in quantal is not marked MA: foriegn. (And it won't work cross anyway so some hacking will be needed) It also need multiarch python, which is not in quantal. You can add my quantal-bootstrap repo which has a suitable python in it: --- /etc/apt/sources.list.d/quantal-bootstrap.list ---- deb [arch=armhf] http://people.debian.org/~wookey/bootstrap/ubunturepo/ quantal-bootstrap main then you can install all the build-deps except the object-introspection ones. 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 and a build with: CONFIG_SITE=/etc/dpkg-cross/cross-config.arm64 DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -aarmhf -B -d goes on quite well for some time before falling over at: usr/bin/make all-am make[6]: Entering directory /home/buildd/gstreamer1.0-1.0.1/docs/gst' DOC Scanning header files DOC Introspecting gobjects ./gstreamer-scan: line 117: /home/buildd/gstreamer1.0-1.0.1/docs/gst/.libs/lt-gstreamer-scan: cannot execute binary file which is the known problem that we have no good way of cross-introspecting yet. installing qemu might solve this? skipping the object instrospection stuff would also work. So it may be possible to cross-build gstreamer on quantal without too much effort, but it definitely doesn't 'just work'. finally, I always have problems with apt-get build-dep: sudo apt-get build-dep -y -aarmhf gstreamer1.0 Reading package lists... Done Building dependency tree Reading state information... Done python is already the newest version. python set to manually installed. The following packages have unmet dependencies: gobject-introspection:armhf : Depends: python:armhf (>= 2.7.1-0ubuntu2) but it is not going to be installed Depends: python2.7:armhf but it is not going to be installed Depends: python-mako:armhf but it is not installable Is there a way to work around these problems with get-build deps ? Either use raring, or my quantal-bootstrap repository, as covered above. But that still won't fully fix the issue. If you need gstreamer to cross-build nicely, we can push it up the list of packages to fix. Is a raring build any use to you (that's a lot easier), or does it have to be quantal? Wookey
From bd5526f9527f38d152012ce861a091713b095a6b Mon Sep 17 00:00:00 2001 From: frq93147 <frq93...@frq93147-vm3.lme.st.com> Date: Wed, 3 Apr 2013 18:08:00 +0200 Subject: [PATCH] armhf-cross --- gstreamer1.0-1.0.1/debian/control | 2 +- gstreamer1.0-1.0.1/debian/gir1.2-gstreamer.install | 2 +- gstreamer1.0-1.0.1/debian/libgstreamer-dev.install | 1 - gstreamer1.0-1.0.1/debian/rules | 6 +++--- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/gstreamer1.0-1.0.1/debian/control b/gstreamer1.0-1.0.1/debian/control index d8d726b..8fb3050 100644 --- a/gstreamer1.0-1.0.1/debian/control +++ b/gstreamer1.0-1.0.1/debian/control @@ -131,7 +131,7 @@ Section: utils Depends: ${shlibs:Depends}, ${misc:Depends}, pkg-config, - libgstreamer1.0-0 (>= 0.11.94) + libgstreamer1.0-0 (>= 1.0.1) Suggests: gstreamer1.0-plugins-base Description: Tools for use with GStreamer GStreamer is a streaming media framework, based on graphs of filters diff --git a/gstreamer1.0-1.0.1/debian/gir1.2-gstreamer.install b/gstreamer1.0-1.0.1/debian/gir1.2-gstreamer.install index 9803e33..8b13789 100644 --- a/gstreamer1.0-1.0.1/debian/gir1.2-gstreamer.install +++ b/gstreamer1.0-1.0.1/debian/gir1.2-gstreamer.install @@ -1 +1 @@ -debian/tmp/usr/lib/*/girepository-* usr/lib + diff --git a/gstreamer1.0-1.0.1/debian/libgstreamer-dev.install b/gstreamer1.0-1.0.1/debian/libgstreamer-dev.install index 1f7959f..d6d0b15 100644 --- a/gstreamer1.0-1.0.1/debian/libgstreamer-dev.install +++ b/gstreamer1.0-1.0.1/debian/libgstreamer-dev.install @@ -2,7 +2,6 @@ debian/tmp/usr/include debian/tmp/usr/lib/*/*.so debian/tmp/usr/lib/*/pkgconfig debian/tmp/usr/share/aclocal -debian/tmp/usr/share/gir-* debian/tmp/usr/bin/gst-codec-info-@GST_ABI@ debian/dh_gstscancodecs usr/bin debian/tmp/usr/share/man/man1/dh_gstscancodecs.1 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 @@ -207,7 +207,7 @@ indep_conf_flags = \ # only build the docs if gtk-doc-tools is installed, i.e. binary-indep is # called ifeq ($(shell test "`dpkg -l gtk-doc-tools | grep ^ii`" && echo binary-indep),binary-indep) -indep_conf_flags += --enable-gtk-doc --enable-docbook +indep_conf_flags += endif DEB_CONFIGURE_EXTRA_FLAGS := $(common_conf_flags) $(indep_conf_flags) @@ -236,7 +236,7 @@ DEB_SHLIBDEPS_INCLUDE += debian/$(gst_lib)/usr/lib/$(DEB_HOST_MULTIARCH) common-binary-fixup-arch:: mkdir -p $(CURDIR)/fake-home HOME=$(CURDIR)/fake-home \ - dh_girepository -pgir1.2-gstreamer-$(gst_abi) +# dh_girepository -pgir1.2-gstreamer-$(gst_abi) rm -rf $(CURDIR)/fake-home -rm -f debian/shlibs.local cat debian/*/DEBIAN/shlibs | \ @@ -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 .PHONY: maint -- 1.7.9.5
_______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev