From: Paul Bender <pebender@san.rr.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: Hi, how can I compile udev with cross compilation?
Date: Sat, 20 Feb 2010 19:15:52 +0000 [thread overview]
Message-ID: <4B8034E8.1000607@san.rr.com> (raw)
In-Reply-To: <4B7FB0C6.5070901@gmail.com>
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.
> 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.
next prev parent reply other threads:[~2010-02-20 19:15 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 [this message]
2010-02-20 19:26 ` Dan Nicholson
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=4B8034E8.1000607@san.rr.com \
--to=pebender@san.rr.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.