[Top][All Lists]

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

[gpsd-users] 'scons check' installs files, fails on pyserial

From: Gary E. Miller
Subject: [gpsd-users] 'scons check' installs files, fails on pyserial
Date: Thu, 4 Oct 2018 16:15:46 -0700

Yo Charles!

On Thu, 4 Oct 2018 15:20:11 -0600
Charles Curley <address@hidden> wrote:

> I checked out release-3.18, and ran scons && scons check, first as a
> non-root user. That failed as follows:
> scons: *** [/usr/local/bin/gegps] /usr/local/bin/gegps: Permission
> denied scons: building terminated because of errors.  

Tyring to install in the system as non-root?  That SHOULD not work.
Ever.  Nor should "scons && scons check" be installing anything.

Or is scons trying to execute /usr/local/bin/gegps?  In which case
it should work fine.  Since you are running "scons && scons check" no
way to know which ("scons" or "scons check") is wrong.  And neither
should be running anything out of the tree.

So always best to post the full output.  Then others can see what
happened, not just the parts you pass on.

> for obvious reasons:
> address@hidden:~/versioned/gpsd$ ls -l $( which gegps )
> -rwxr-xr-x 1 root root 4395 Oct  4 14:43 /usr/local/bin/gegps
> address@hidden:~/versioned/gpsd$   

Looks correct to me.  Only root should be abe to write
in /usr/local/*bin/

> That can easily be repaired by adjusting the permissions. But....  

Uh, no.  The permissions are correct.

> Hmmm, that seemed odd to me. gegps is part of gpsd. Why is a test run
> depending on a program that is already installed?  

Neither "scons" or "scons check" should install anything.  Are you sure
that is the case?

> So I re-cloned, this time as root. Aha! 'scons check' produces:
> Install file: "gegps" as "/usr/local/bin/gegps"  

Sure looks like an install, not an exectute, to me.

> So a different question: why is what should be a test run installing
> software on what might be a virgin system?  

"scons check" should not.  I'll run some tests.

> Can the subsequent tests be
> run locally -- and regardless of the user? They are.  

They are supposed to be.

> And 'scons check' fails:
> gpsfake: Version 3.18
> ./gpsprof -V
> gpsprof: Version 3.18
> ./ubxtool -V
> ubxtool: failed to import pyserial
> scons: *** [python-versions] Error 2
> scons: building terminated because of errors.  

Well, that one is obvious.  You do not have pyserial installed.

> I should probably install one or both of:
> address@hidden:~# apt-cache search pyserial
> python-serial - pyserial - module encapsulating access for the serial
> port python3-serial - pyserial - module encapsulating access for the
> serial port address@hidden:~#   

I have idea what voodoo incantation your distro requires. "apt" mungs
things in non-standard and non-obvious ways.

> Recommendation as to which, or both, to install?  

I'm guessing here.  python-serial is for Python 2.  python3-serial is
for Python 3.  So I would install both.  15 months until Python 2 EOL.

Unlikely the 10 year Python2/3 madness will simply at that time...

> We should probably document this dependency in INSTALL.  

Tell us what to say when you figure it out.  I'll add a generic
note now.

After release I added a check in SConstruct to warn if pyserial not
installed.  Fred Wright is working on a patch to make pyserial

Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        address@hidden  Tel:+1 541 382 8588

            Veritas liberabit vos. -- Quid est veritas?
    "If you can’t measure it, you can’t improve it." - Lord Kelvin

Attachment: pgpZkL9uJ16Xh.pgp
Description: OpenPGP digital signature

reply via email to

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