On Sat, Feb 20, 2010 at 8:37 AM, Paul Bender <pebender@xxxxxxxxxx> wrote: > 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. I think it would be better to just make the AC_CHECK_FILES conditional on cross compiling: if test $cross_compiling != yes; then AC_CHECK_FILES... else # just assume pciids location pciids=/usr/share/pci.ids fi Otherwise, people cross compiling will bomb unless they pass --with-pci-ids-path. Likewise, you changed the 'test -n "$pciids"' to a 'test -x'. I don't know a lot of people with an executable pci database. Attached is a patch to do this. -- Dan
Attachment:
cross-compiling-pci.ids.patch
Description: application/mbox