Hi, I'm trying to cross build some packages for ubuntu quantal following this wiki:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingXdeb
we would like to be able to build packages like gstreamer. today, I'm able to compile busybox and grep but no gstreamer or gstreamer plugins
Here is my HowTo:
sudo su debootstrap quantal m-xdeb
chmod 777 m-xdeb/etc/apt/sources.list vi m-xdeb/etc/apt/sources.list deb [arch=armhf] http://ports.ubuntu.com/ quantal main universe deb-src http://ports.ubuntu.com/ quantal main universe deb http://archive.ubuntu.com/ubuntu quantal main universe
sudo chroot m-xdeb
mount -t proc proc /proc mount -t devpts none /dev/pts export LC_ALL=C
adduser build adduser build sudo
apt-get update
apt-get install -y xdeb gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
dpkg --add-architecture armhf exit
sudo chroot m-xdeb su - build export LC_ALL=C
here are the results:
xdeb -a armhf --only-explicit --no-lintian --apt-source grep OK
xdeb -a armhf --no-lintian --apt-source gstreamer1.0 Fails: Dependency cycle: [u'cairo', u'libxt', u'glib2.0', u'dbus-python', u'dbus-glib']
xdeb -a armhf --only-explicit --no-lintian --apt-source gstreamer1.0 Fails: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.c:580:3: warning: implicit declaration of function 'gst_init' [-Wimplicit-function-declaration] g-ir-scanner: link: ../libtool --mode=link --tag=CC arm-linux-gnueabihf-gcc -std=gnu99 -o /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0 -export-dynamic /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.o -L. libgstreamer-1.0.la -Wl,--export-dynamic -pthread -L/usr/arm-linux-gnueabihf/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libtool: link: arm-linux-gnueabihf-gcc -std=gnu99 -o /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/Gst-1.0 /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -L. ./.libs/libgstreamer-1.0.so -L/usr/arm-linux-gnueabihf/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -Wl,-rpath -Wl,/usr/lib/arm-linux-gnueabihf /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0: line 117: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/lt-Gst-1.0: cannot execute binary file /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0: line 117: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/lt-Gst-1.0: Success Command '['/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0', '--introspect-dump=/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/functions.txt,/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/dump.xml']' returned non-zero exit status 126 make[5]: *** [Gst-1.0.gir] Error 1
( please find full trace attached)
xdeb -a armhf --only-explicit --no-lintian --apt-source gstreamer1.0-plugins-base Fails: ... ===== Importing keyutils_1.5.5-3 =====
apt-get -oAPT::Architecture=armhf download keyutils:armhf Get:1 Downloading keyutils 1.5.5-3 [30.3 kB] Fetched 30.3 kB in 0s (55.9 kB/s) apt-get -oAPT::Architecture=armhf download keyutils-dbg:armhf Get:1 Downloading keyutils-dbg 1.5.5-3 [57.2 kB] Fetched 57.2 kB in 0s (437 kB/s) apt-get -oAPT::Architecture=armhf download libkeyutils1:armhf Get:1 Downloading libkeyutils1 1.5.5-3 [6626 B] Fetched 6626 B in 0s (19.9 kB/s) apt-get -oAPT::Architecture=armhf download libkeyutils-dev:armhf Get:1 Downloading libkeyutils-dev 1.5.5-3 [25.8 kB] Fetched 25.8 kB in 0s (94.9 kB/s) Traceback (most recent call last): File "/usr/bin/xdeb", line 988, in <module> main() File "/usr/bin/xdeb", line 973, in main native_import(options, src) File "/usr/bin/xdeb", line 585, in native_import crossed_debs = cross_convert(options, debs, options.builddirs[0]) File "/usr/bin/xdeb", line 484, in cross_convert deb)).debcontrol() File "/usr/lib/python2.7/dist-packages/debian/debfile.py", line 271, in __init__ compressed_part_name(DATA_PART))) File "/usr/lib/python2.7/dist-packages/debian/debfile.py", line 256, in compressed_part_name " (expected one of: %s)" % candidates) debian.debfile.DebError: missing required part in given .deb (expected one of: ['data.tar.gz', 'data.tar.bz2', 'data.tar.lzma'])
I have tried to use repo quantal-updates with also bad result.
I have tried to use lower level tools, but I did not found a way to install cross build-deps
apt-get build-dep -aarmhf ... always fails like this: sudo apt-get -oAPT::Architecture=armhf build-dep gstreamer1.0 [sudo] password for build: Reading package lists... Done Building dependency tree Reading state information... Done The following packages have unmet dependencies: build-essential : Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed cdbs : Depends: dh-translations but it is not going to be installed debhelper : Depends: dpkg-dev (>= 1.16.2) but it is not going to be installed docbook-utils : Depends: docbook-dsssl but it is not going to be installed Depends: jadetex but it is not going to be installed gnome-pkg-tools : Depends: dh-translations but it is not going to be installed gtk-doc-tools : Depends: docbook-dsssl but it is not going to be installed Depends: docbook-xml (>= 4.3) but it is not going to be installed Depends: docbook-xsl (>= 1.64.1.0) but it is not going to be installed Depends: docbook-to-man but it is not going to be installed Depends: gnome-common but it is not going to be installed transfig : Depends: x11-common but it is not going to be installed xmlto : Depends: docbook-xml (>= 4.2-8) but it is not going to be installed Depends: docbook-xsl (>= 1.64.1.0) but it is not going to be installed E: Build-dependencies for gstreamer1.0 could not be satisfied.
I guess I missed something... apt.conf ? sources.list... ? Can somebody help me ?
best regards, pascal
Hi Pascal,
+ Wookey
On 29 March 2013 16:15, Pascal PAILLET-LME p.paillet@st.com wrote:
Hi, I'm trying to cross build some packages for ubuntu quantal following this wiki:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingXdeb
xdeb is deprecated. The main entry point in the wiki is: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossBuilding
Multiarch is the recommended approach today: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch
The most recent up-to-date usage is the ARM64 bootstrap: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/arm64bootstrap
and also some older examples: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/ChromiumCrossCompi... https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/FirefoxCrossCompil...
Please take a look, try the multiarch approach instead of xdeb and we can continue the discusssion :)
we would like to be able to build packages like gstreamer. today, I'm able to compile busybox and grep but no gstreamer or gstreamer plugins
Here is my HowTo:
sudo su debootstrap quantal m-xdeb
chmod 777 m-xdeb/etc/apt/sources.list vi m-xdeb/etc/apt/sources.list deb [arch=armhf] http://ports.ubuntu.com/ quantal main universe deb-src http://ports.ubuntu.com/ quantal main universe deb http://archive.ubuntu.com/ubuntu quantal main universe
sudo chroot m-xdeb
mount -t proc proc /proc mount -t devpts none /dev/pts export LC_ALL=C
adduser build adduser build sudo
apt-get update
apt-get install -y xdeb gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
dpkg --add-architecture armhf exit
sudo chroot m-xdeb su - build export LC_ALL=C
here are the results:
xdeb -a armhf --only-explicit --no-lintian --apt-source grep OK
xdeb -a armhf --no-lintian --apt-source gstreamer1.0 Fails: Dependency cycle: [u'cairo', u'libxt', u'glib2.0', u'dbus-python', u'dbus-glib']
xdeb -a armhf --only-explicit --no-lintian --apt-source gstreamer1.0 Fails: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.c:580:3: warning: implicit declaration of function 'gst_init' [-Wimplicit-function-declaration] g-ir-scanner: link: ../libtool --mode=link --tag=CC arm-linux-gnueabihf-gcc -std=gnu99 -o /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0 -export-dynamic /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.o -L. libgstreamer-1.0.la -Wl,--export-dynamic -pthread -L/usr/arm-linux-gnueabihf/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libtool: link: arm-linux-gnueabihf-gcc -std=gnu99 -o /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/Gst-1.0 /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -L. ./.libs/libgstreamer-1.0.so -L/usr/arm-linux-gnueabihf/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -Wl,-rpath -Wl,/usr/lib/arm-linux-gnueabihf /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0: line 117: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/lt-Gst-1.0: cannot execute binary file /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0: line 117: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/lt-Gst-1.0: Success Command '['/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0', '--introspect-dump=/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/functions.txt,/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/dump.xml']' returned non-zero exit status 126 make[5]: *** [Gst-1.0.gir] Error 1
( please find full trace attached)
xdeb -a armhf --only-explicit --no-lintian --apt-source gstreamer1.0-plugins-base Fails: ... ===== Importing keyutils_1.5.5-3 =====
apt-get -oAPT::Architecture=armhf download keyutils:armhf Get:1 Downloading keyutils 1.5.5-3 [30.3 kB] Fetched 30.3 kB in 0s (55.9 kB/s) apt-get -oAPT::Architecture=armhf download keyutils-dbg:armhf Get:1 Downloading keyutils-dbg 1.5.5-3 [57.2 kB] Fetched 57.2 kB in 0s (437 kB/s) apt-get -oAPT::Architecture=armhf download libkeyutils1:armhf Get:1 Downloading libkeyutils1 1.5.5-3 [6626 B] Fetched 6626 B in 0s (19.9 kB/s) apt-get -oAPT::Architecture=armhf download libkeyutils-dev:armhf Get:1 Downloading libkeyutils-dev 1.5.5-3 [25.8 kB] Fetched 25.8 kB in 0s (94.9 kB/s) Traceback (most recent call last): File "/usr/bin/xdeb", line 988, in <module> main() File "/usr/bin/xdeb", line 973, in main native_import(options, src) File "/usr/bin/xdeb", line 585, in native_import crossed_debs = cross_convert(options, debs, options.builddirs[0]) File "/usr/bin/xdeb", line 484, in cross_convert deb)).debcontrol() File "/usr/lib/python2.7/dist-packages/debian/debfile.py", line 271, in __init__ compressed_part_name(DATA_PART))) File "/usr/lib/python2.7/dist-packages/debian/debfile.py", line 256, in compressed_part_name " (expected one of: %s)" % candidates) debian.debfile.DebError: missing required part in given .deb (expected one of: ['data.tar.gz', 'data.tar.bz2', 'data.tar.lzma'])
I have tried to use repo quantal-updates with also bad result.
I have tried to use lower level tools, but I did not found a way to install cross build-deps
apt-get build-dep -aarmhf ... always fails like this: sudo apt-get -oAPT::Architecture=armhf build-dep gstreamer1.0 [sudo] password for build: Reading package lists... Done Building dependency tree Reading state information... Done The following packages have unmet dependencies: build-essential : Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed cdbs : Depends: dh-translations but it is not going to be installed debhelper : Depends: dpkg-dev (>= 1.16.2) but it is not going to be installed docbook-utils : Depends: docbook-dsssl but it is not going to be installed Depends: jadetex but it is not going to be installed gnome-pkg-tools : Depends: dh-translations but it is not going to be installed gtk-doc-tools : Depends: docbook-dsssl but it is not going to be installed Depends: docbook-xml (>= 4.3) but it is not going to be installed Depends: docbook-xsl (>= 1.64.1.0) but it is not going to be installed Depends: docbook-to-man but it is not going to be installed Depends: gnome-common but it is not going to be installed transfig : Depends: x11-common but it is not going to be installed xmlto : Depends: docbook-xml (>= 4.2-8) but it is not going to be installed Depends: docbook-xsl (>= 1.64.1.0) but it is not going to be installed E: Build-dependencies for gstreamer1.0 could not be satisfied.
I guess I missed something... apt.conf ? sources.list... ? Can somebody help me ?
best regards, pascal
Cheers,
Fathi
Hi thank you for your answer !
I have tried to follow 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 ?
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.
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
I have also tried checked: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/FirefoxCrossCompil... https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/ChromiumCrossCompi...
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 ?
best regards, pascal
On 03/29/2013 03:27 PM, Fathi Boudra wrote:
Hi Pascal,
+ Wookey
On 29 March 2013 16:15, Pascal PAILLET-LME p.paillet@st.commailto:p.paillet@st.com wrote:
Hi, I'm trying to cross build some packages for ubuntu quantal following this wiki:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingXdeb
xdeb is deprecated. The main entry point in the wiki is: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossBuilding
Multiarch is the recommended approach today: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch
The most recent up-to-date usage is the ARM64 bootstrap: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/arm64bootstrap
and also some older examples: https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/ChromiumCrossCompi... https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/FirefoxCrossCompil...
Please take a look, try the multiarch approach instead of xdeb and we can continue the discusssion :)
we would like to be able to build packages like gstreamer. today, I'm able to compile busybox and grep but no gstreamer or gstreamer plugins
Here is my HowTo:
sudo su debootstrap quantal m-xdeb
chmod 777 m-xdeb/etc/apt/sources.list vi m-xdeb/etc/apt/sources.list deb [arch=armhf] http://ports.ubuntu.com/ quantal main universe deb-src http://ports.ubuntu.com/ quantal main universe deb http://archive.ubuntu.com/ubuntu quantal main universe
sudo chroot m-xdeb
mount -t proc proc /proc mount -t devpts none /dev/pts export LC_ALL=C
adduser build adduser build sudo
apt-get update
apt-get install -y xdeb gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
dpkg --add-architecture armhf exit
sudo chroot m-xdeb su - build export LC_ALL=C
here are the results:
xdeb -a armhf --only-explicit --no-lintian --apt-source grep OK
xdeb -a armhf --no-lintian --apt-source gstreamer1.0 Fails: Dependency cycle: [u'cairo', u'libxt', u'glib2.0', u'dbus-python', u'dbus-glib']
xdeb -a armhf --only-explicit --no-lintian --apt-source gstreamer1.0 Fails: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.c:580:3: warning: implicit declaration of function 'gst_init' [-Wimplicit-function-declaration] g-ir-scanner: link: ../libtool --mode=link --tag=CC arm-linux-gnueabihf-gcc -std=gnu99 -o /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0 -export-dynamic /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.o -L. libgstreamer-1.0.la -Wl,--export-dynamic -pthread -L/usr/arm-linux-gnueabihf/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libtool: link: arm-linux-gnueabihf-gcc -std=gnu99 -o /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/Gst-1.0 /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -L. ./.libs/libgstreamer-1.0.so -L/usr/arm-linux-gnueabihf/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -Wl,-rpath -Wl,/usr/lib/arm-linux-gnueabihf /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0: line 117: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/lt-Gst-1.0: cannot execute binary file /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0: line 117: /home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/.libs/lt-Gst-1.0: Success Command '['/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/Gst-1.0', '--introspect-dump=/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/functions.txt,/home/build/src/gstreamer1.0/gst/tmp-introspecteM6YUf/dump.xml']' returned non-zero exit status 126 make[5]: *** [Gst-1.0.gir] Error 1
( please find full trace attached)
xdeb -a armhf --only-explicit --no-lintian --apt-source gstreamer1.0-plugins-base Fails: ... ===== Importing keyutils_1.5.5-3 =====
apt-get -oAPT::Architecture=armhf download keyutils:armhf Get:1 Downloading keyutils 1.5.5-3 [30.3 kB] Fetched 30.3 kB in 0s (55.9 kB/s) apt-get -oAPT::Architecture=armhf download keyutils-dbg:armhf Get:1 Downloading keyutils-dbg 1.5.5-3 [57.2 kB] Fetched 57.2 kB in 0s (437 kB/s) apt-get -oAPT::Architecture=armhf download libkeyutils1:armhf Get:1 Downloading libkeyutils1 1.5.5-3 [6626 B] Fetched 6626 B in 0s (19.9 kB/s) apt-get -oAPT::Architecture=armhf download libkeyutils-dev:armhf Get:1 Downloading libkeyutils-dev 1.5.5-3 [25.8 kB] Fetched 25.8 kB in 0s (94.9 kB/s) Traceback (most recent call last): File "/usr/bin/xdeb", line 988, in <module> main() File "/usr/bin/xdeb", line 973, in main native_import(options, src) File "/usr/bin/xdeb", line 585, in native_import crossed_debs = cross_convert(options, debs, options.builddirs[0]) File "/usr/bin/xdeb", line 484, in cross_convert deb)).debcontrol() File "/usr/lib/python2.7/dist-packages/debian/debfile.py", line 271, in __init__ compressed_part_name(DATA_PART))) File "/usr/lib/python2.7/dist-packages/debian/debfile.py", line 256, in compressed_part_name " (expected one of: %s)" % candidates) debian.debfile.DebError: missing required part in given .deb (expected one of: ['data.tar.gz', 'data.tar.bz2', 'data.tar.lzma'])
I have tried to use repo quantal-updates with also bad result.
I have tried to use lower level tools, but I did not found a way to install cross build-deps
apt-get build-dep -aarmhf ... always fails like this: sudo apt-get -oAPT::Architecture=armhf build-dep gstreamer1.0 [sudo] password for build: Reading package lists... Done Building dependency tree Reading state information... Done The following packages have unmet dependencies: build-essential : Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed cdbs : Depends: dh-translations but it is not going to be installed debhelper : Depends: dpkg-dev (>= 1.16.2) but it is not going to be installed docbook-utils : Depends: docbook-dsssl but it is not going to be installed Depends: jadetex but it is not going to be installed gnome-pkg-tools : Depends: dh-translations but it is not going to be installed gtk-doc-tools : Depends: docbook-dsssl but it is not going to be installed Depends: docbook-xml (>= 4.3) but it is not going to be installed Depends: docbook-xsl (>= 1.64.1.0) but it is not going to be installed Depends: docbook-to-man but it is not going to be installed Depends: gnome-common but it is not going to be installed transfig : Depends: x11-common but it is not going to be installed xmlto : Depends: docbook-xml (>= 4.2-8) but it is not going to be installed Depends: docbook-xsl (>= 1.64.1.0) but it is not going to be installed E: Build-dependencies for gstreamer1.0 could not be satisfied.
I guess I missed something... apt.conf ? sources.list... ? Can somebody help me ?
best regards, pascal
Cheers,
Fathi
+++ 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
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
+++ 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
Hi,
My paquet seems to work correctly !
the problem for me is my paquet is not exactly the same as the one provided by ubuntu. I mean I had to disable some features because some dependencies was missing.
Is there another process to work-around cross dependency installation issue ? ( with qemu... )
Is there another way than building with the target that permits to create the packets ? It seems that cross building is not the usual way of working...
On 04/04/2013 05:05 AM, Wookey wrote:
+++ 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
+++ Pascal PAILLET-LME [2013-04-04 17:44 +0200]:
Hi,
My paquet seems to work correctly !
Cool.
the problem for me is my paquet is not exactly the same as the one provided by ubuntu. I mean I had to disable some features because some dependencies was missing.
Is there another process to work-around cross dependency installation issue ? ( with qemu... )
That may work. I don't think anyone has tried seriously. It should do. Running the armhf version of the gobject-introspection tools with qemu should do the right thing. Unfortunately you can't install gobject-introspection:armhf because it wan't python:armhf and installing that would probably break things, (although with qemu installed it should be OK...).
So this could do with testing, but currently that's a bit of a faff. I'd be interested to hear from anyone who has tried this.
The actual introspection problem is explained here: https://wiki.linaro.org/PeterPearse/GobjectIntrospection
Is there another way than building with the target that permits to create the packets ?
(packages, not packets).
It seems that cross building is not the usual way of working...
Yes, the debian/ubuntu default is to build natively, which avoids the problems of cross-tools and cross-dependencies. The catch is that, whilst it gets faster by the day, it's still generally slower than crossbuilding on a fast x86 box. A chromebook or arndale board is quite nippy now though...
Wookey