On Sat, Feb 20, 2010 at 11:15 AM, Paul Bender <pebender@xxxxxxxxxx> wrote: > On 2/20/2010 10:20 AM, Dan Nicholson wrote: >> >> 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...pci.ids not found, try --with-pci-ids-path >> else >> # just assume pciids location >> pciids=/usr/share/pci.ids >> fi >> >> Otherwise, people cross compiling will bomb unless they pass >> --with-pci-ids-path. > > Unless I misunderstand AC_ARG_WITH, its third argument is for what to do > when the corresponding --with configure argument is not provided, which is > how it behaves in my build system (with autoconf 2.63). That is why I put > the AC_CHECK_FILES in the third argument. > > I like your patch better than mine as it does not generate the unhelpful > error message: > "cannot check for file existence when cross compiling". > when the --with-pci-ids-path is not provided. > > However, for cross compiling, it might be better to force the user to > provide --with-pci-ids-path rather than assuming one since an incorrect > assumed path would not be discovered until on target runtime. Yeah, there's definitely a balance there. That's why I added the message so people would at least see what udev was going to use. I just prefer the "don't make people pass options to configure unless they definitely have to" approach. Could easily go both ways, though. >> 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. > > Doh, that was supposed to be -z. Thanks for the catch. With that fix I think either patch would be fine. -- Dan -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html