Re: Hi, how can I compile udev with cross compilation?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/20/2010 1:52 AM, huyle wrote:
Hi,
I am currently building an linux system for arm board. I am stuck with
udev. So can you help me with some commands to compile udev with cross
compilation?
Thanks for your time

I am cross compiling udev, but not for the ARM.

The only trouble that I have encountered when cross compiling version 151 is with the configure scripts determination of the pci.ids file location. This is caused by autoconf's AC_CHECK_FILES macro generating an error when cross compiling. However, this can be worked around by setting

ac_cv_file__usr_share_pci_ids='no'
ac_cv_file__usr_share_hwdata_pci_ids='no'
ac_cv_file__usr_share_misc_pci_ids='no'

in the build system's environment before running configure and setting the configure script's --with-pci-ids-path argument.

I have had this work around for so long that I have not given it much thought. However, it is relatively easy to fix the configure script so that it only attempting to determine the pci.ids file location when --with-pci-ids-path is not set. Therefore, I have created and attached a patch that should do this. Of course, after applying, you would need to rerun autoconf or autoreconf.
diff -Naur udev-151-old/configure.ac udev-151-new/configure.ac
--- udev-151-old/configure.ac	2010-01-24 23:21:07.000000000 -0800
+++ udev-151-new/configure.ac	2010-02-20 08:21:22.000000000 -0800
@@ -69,15 +69,13 @@
 	PKG_CHECK_MODULES(USBUTILS, usbutils >= 0.82)
 	AC_SUBST([USB_DATABASE], [$($PKG_CONFIG --variable=usbids usbutils)])
 
-	AC_CHECK_FILES([/usr/share/pci.ids], [pciids=/usr/share/pci.ids])
-	AC_CHECK_FILES([/usr/share/hwdata/pci.ids], [pciids=/usr/share/hwdata/pci.ids])
-	AC_CHECK_FILES([/usr/share/misc/pci.ids], [pciids=/usr/share/misc/pci.ids])
 	AC_ARG_WITH(pci-ids-path,
 		AS_HELP_STRING([--pci-ids-path=DIR], [Path to pci.ids file]),
 		[PCI_DATABASE=${withval}],
-		[if test -n "$pciids" ; then
-			PCI_DATABASE="$pciids"
-		else
+		[AC_CHECK_FILES([/usr/share/pci.ids], [PCI_DATABASE=/usr/share/pci.ids])
+		AC_CHECK_FILES([/usr/share/hwdata/pci.ids], [PCI_DATABASE=/usr/share/hwdata/pci.ids])
+		AC_CHECK_FILES([/usr/share/misc/pci.ids], [PCI_DATABASE=/usr/share/misc/pci.ids])
+		if test -x "$PCI_DATABASE" ; then
 			AC_MSG_ERROR([pci.ids not found, try --with-pci-ids-path=])
 		fi])
 	AC_SUBST(PCI_DATABASE)

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux