udev fails to cross-build with xdeb

Bug #873584 reported by Wookey on 2011-10-13
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Undecided
Loïc Minier

Bug Description

udev fails to cross-build due to xdeb failing to install cross-dependencies:

Considering source package udev
sudo apt-get -y --allow-unauthenticated -o Dir::State::Lists=/home/wookey/testing/build/build/xdeb/lists.apt -o Dir::Cache::pkgcache=/home/wookey/testing/build/build/xdeb/pkgcache.bin -o Dir::Cache::srcpkgcache=/home/wookey/testing/build/build/xdeb/srcpkgcache.bin -o Dir::Etc::sourcelist=/home/wookey/testing/build/build/xdeb/sources.list --no-install-recommends install gir1.2-glib-2.0-armel-cross libgirepository1.0-dev-armel-cross libglib2.0-dev-armel-cross libselinux1-dev-armel-cross libsepol1-dev-armel-cross libusb-dev-armel-cross
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gir1.2-glib-2.0-armel-cross : Depends: libgirepository-1.0-1-armel-cross (>= 0.10.2) but it is not going to be installed
                               Depends: libglib2.0-0-armel-cross (>= 2.28.0) but it is not going to be installed
 libgirepository1.0-dev-armel-cross : Depends: libgirepository-1.0-1-armel-cross (= 0.10.7-0ubuntu1) but it is not going to be installed
 libglib2.0-dev-armel-cross : Depends: libglib2.0-0-armel-cross (= 2.28.6-0ubuntu1) but it is not going to be installed
                              Depends: libpcre3-armel-cross (>= 8.10) but it is not installable

This may be an issue of unclean build chroot rather than xdeb doing it wrong.

Background:
The build command is:
xdeb --only-explicit -a armel --prefer-apt --apt-source --debug --force-rebuild udev

The actual build command xdeb issues is:
debuild --no-lintian -eUSER -eCONFIG_SITE=/etc/dpkg-cross/cross-config.armel -eDEB_BUILD_OPTIONS=nocheck -eGTEST_INCLUDEDIR=/usr/arm-linux-gnueabi/include -eGTEST_LIBDIR=/usr/arm-linux-gnueabi/lib -ePKG_CONFIG_LIBDIR=/usr/arm-linux-gnueabi/lib/pkgconfig:/usr/arm-linux-gnueabi/share/pkgconfig:/usr/share/pkgconfig -eDH_VERBOSE=1 -aarmel -b -uc -us -tc

To easily reproduce the build environment in which this bug was discovered follow the HOWTO here:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossBuildNano

Wookey (wookey) wrote :
description: updated
Loïc Minier (lool) wrote :

I don't get the error you're getting, instead I get:
[...]
===== Importing gobject-introspection_1.30.0-0ubuntu2 =====
[...]
(other imports)
[...]
===== Building udev_173-0ubuntu4 =====
[...]
checking for INTROSPECTION... yes
checking for USBUTILS... yes
checking for USB database location... /var/lib/usbutils/usb.ids
configure: error: pci.ids not found, try --with-pci-ids-path=
make: *** [build-deb/config.status] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2

which seems similar to the issue fixed in the karmic ~ubuntu-crossbuild/cross PPA:
https://launchpad.net/~ubuntu-crossbuild/+archive/cross/+packages
udev (147~-7~cross1) karmic; urgency=low

  * Resynchronise with Ubuntu karmic. Remaining changes:
    - Be more cross-compilation friendly: pass --with-pci-ids-path to
      configure for deb and udeb and change configure.ac to only
      AC_CHECK_FILES when autodetecting the path to the PCI ids database.
    - Disable gtk-doc building when cross-compiling since it requires
      running a generated source (lt-gudev-scan) which is usually not
      possible when cross-compiling; should really be fixed to build this
      scanner with BUILD_CC instead, but this would require building whole
      projects twice too.

 -- Colin Watson <email address hidden> Wed, 06 Jan 2010 13:36:45 +0000

again, this is with a variant=buildd oneiric chroot.

affects: xdeb (Ubuntu) → udev (Ubuntu)
Loïc Minier (lool) on 2011-10-19
Changed in udev (Ubuntu):
status: New → In Progress
assignee: nobody → Loïc Minier (lool)
Loïc Minier (lool) on 2011-10-19
Changed in udev (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package udev - 173-0ubuntu5

---------------
udev (173-0ubuntu5) precise; urgency=low

  * Cross-build fixes based of patch by Colin Watson; LP: #873584.
    - Build deb and udeb flavors with
      --with-pci-ids-path=/usr/share/misc/pci.ids as this is required when
      cross-compiling but can safely be passed all the time.
    - Disable gtk-doc build when cross-compiling and exclude doc files when
      calling dh_install; building gtk-doc requires running a generated source
      (lt-gudev-scan) which is usually not possible when cross-compiling;
      should really be fixed to build this scanner with BUILD_CC instead, but
      this would require building whole projects twice too.
    - Also disable GObject introspection and exclude these files for the same
      reason as for gtk-doc (needs to run a scanner program which can't be run
      when cross-compiling).
 -- Loic Minier <email address hidden> Wed, 19 Oct 2011 17:57:57 +0200

Changed in udev (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments