All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Nicholson <dbn.lists@gmail.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: Hi, how can I compile udev with cross compilation?
Date: Sat, 20 Feb 2010 19:26:29 +0000	[thread overview]
Message-ID: <91705d081002201126y598295cem94dece9c94bc79e0@mail.gmail.com> (raw)
In-Reply-To: <4B7FB0C6.5070901@gmail.com>

On Sat, Feb 20, 2010 at 11:15 AM, Paul Bender <pebender@san.rr.com> wrote:
> On 2/20/2010 10:20 AM, Dan Nicholson wrote:
>>
>> On Sat, Feb 20, 2010 at 8:37 AM, Paul Bender<pebender@san.rr.com>  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

      parent reply	other threads:[~2010-02-20 19:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-20  9:52 Hi, how can I compile udev with cross compilation? huyle
2010-02-20 16:37 ` Paul Bender
2010-02-20 18:20 ` Dan Nicholson
2010-02-20 19:15 ` Paul Bender
2010-02-20 19:26 ` Dan Nicholson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91705d081002201126y598295cem94dece9c94bc79e0@mail.gmail.com \
    --to=dbn.lists@gmail.com \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.