[Buildroot] [autobuild.buildroot.net] Build results for 2014-01-08
Arnout Vandecappelle
arnout at mind.be
Tue Jan 14 06:59:23 UTC 2014
On 12/01/14 00:17, Yann E. MORIN wrote:
> Thomas, All,
>
> On 2014-01-10 07:29 +0800, Thomas Petazzoni spake thusly:
>> On Thu, 9 Jan 2014 20:14:27 +0100, Yann E. MORIN wrote:
>>> What happens is that ola runs the host-python to check if it can
>>> 'import' the google.protobuf module.
>>>
>>> Of course, this fails since google.protobuf is installed in target/ and
>>> not in host/ (and we do not explicitly install a host-variant).
>>
>> Correct. But what is odd is that this test was *not* failing before the
>> migration to the Python infrastructure. I've started investigating
>> this, but haven't found the reason why before the Python infra it was
>> building OK, and not after the Python infra.
>>
>>> There is a very simple trick^Whack we can use to fix this issue, either:
>>> - remove the test entirely, since we enforce the dependency from the
>>> Config.in an ola.mk, and thus we know google.protobuf will be
>>> present
>>
>> The problem of this solution is that the patch you've done cannot be
>> upstreamed, and therefore we would have to keep AUTORECONF = YES
>> forever on this package. Maybe we can make the configure.ac test
>> conditional on whether we're cross-compiling and push the patch
>> upstream?
>
> I understand your conerns, and in fact was not expecting the patch to be
> applied that fast! ;-]
>
> Now, if we add a check, I don;t know how to handle this.
>
> After all, a check is here to detect whether a dependency is present or
> missing. So we ehould expect the following from ./configure:
>
> - user did not request the feature: if the dependencies are present,
> it is enabled; if they are missign it is disabled;
>
> - user explicitly required the feature to be disabled: no problem,
> the feature is disabled and ./configure does not even need to check
> for the dependencies at all;
>
> - user explictly required the feature to be enabled: ./configure has
> to check if the dependencies are met, and abort if not.
>
> Ideally, we should be able to check target dependencies, but this is not
> possible with Python. So, while cross-compiling we can not check those
> dependencies, what should we do?
>
> - user did not explictly reuired the feature: detect we're
> cross-compiling, and disable it (or enable it?)
>
> - user explixitly required the feature to be enabled: trust the user
> that the dependencies are met, without checking, at the risk of a
> mis-behaviour at build time, or worse, at runtime?
>
> I really don't know what is best to do. I think I'll do the above and
> try to get the patch upstreamed. Let's see what hey think about it.
What should definitely be upstreamable, is to add a cache variable for
this option. Then we can set the cache variable from buildroot like we do
for so many other things already.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list