From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Bender Date: Sat, 20 Feb 2010 16:37:23 +0000 Subject: Re: Hi, how can I compile udev with cross compilation? Message-Id: <4B800FC3.8000808@san.rr.com> MIME-Version: 1 Content-Type: multipart/mixed; boundary="------------070107010801030600050809" List-Id: References: <4B7FB0C6.5070901@gmail.com> In-Reply-To: <4B7FB0C6.5070901@gmail.com> To: linux-hotplug@vger.kernel.org This is a multi-part message in MIME format. --------------070107010801030600050809 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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. --------------070107010801030600050809 Content-Type: text/plain; name="udev-151-pci_ids_path.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="udev-151-pci_ids_path.patch" 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) --------------070107010801030600050809--