gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] report on my build nits


From: Greg Troxel
Subject: Re: [gpsd-dev] report on my build nits
Date: Mon, 23 Sep 2019 19:53:13 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (berkeley-unix)

Fred Wright <address@hidden> writes:

>>> Easy.  Use the "target_python=python3.7" scons config option.
>>
>> I did that, and the test suite had problems, I think because
>> target_python didn't get used for the tests that are written in python.
>
> It *does* get used for the tests, and I see no evidence to the
> contrary. Note, however, if you 'build' and 'check' with different
> target_python settings, it will probably fail to notice that the
> extensions were built for the wrong Python version, and thus won't
> work properly.  You'd need to go out of your way to do that, though,
> since the options are sticky.

I don't follow this.  There are tests with "#!/usr/bin/env python"
(which isn't the value of target_python), and running them qfails because
there is no bare python.  If there were a bare python, it would be
executing some python version which might or might not be the same as
target_python, which to me feels like undefined behavior.

So separately form arguing about following PEPfoo etc., I think it's
good to test the machinery at times on a system with no bare python,
because I think the gpsd build invoking bare python (when given
target_python=python3.7) is a bug.

I tried to build with target_python=python3.7 and then assumed check
would use the cached value, since scons seems to be quite aggressive
about using cached values on future runs.  Perhaps that was a mistake on
my part.

Fair enough that changing target_python between build and check should
fail, as absolutely it should be loading the python code from the build
and not loading anything from the installed system.

> The only real bug I'm aware of is that the default target_python
> doesn't work if your system has no 'python' command.  I'll look at
> fixing that. Note that an explicitly blank target_python uses whatever
> Python is being used by SCons.

Thanks - that would be great!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]