gpsd-dev
[Top][All Lists]
Advanced

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

Re: Running regression tests on Ubuntu 14.04


From: John Ackermann N8UR
Subject: Re: Running regression tests on Ubuntu 14.04
Date: Wed, 29 Apr 2020 21:44:56 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

Hmmm, I encountered this just this morning.  I built gpsd fresh (after
scons -c) with no errors (but didn't run test) and found that gpsfake
crashed with an error that it was unable to load libgpsdpacket.so
(sorry, forget the exact message).  Running ldconfig didn't help.

This was Ubuntu 19.10, and using the normal scons build *without*
specifying target_python, so using only python 2.7.

I temporarily fixed it by hardcoding the path /usr/local/lib into the
ctypes call in packet.py.  Of course, that's not the correct answer.

I didn't have this problem when trying to build for python 3.7, so I
suspect Gregory is correct that it's something to do with the way the
library search behavior works between the two versions.

John
----
On 4/29/20 8:41 PM, Gregory Fong wrote:
> Hello,
> 
> I noticed that running the regression tests on Ubuntu 14.04 no longer
> seems to work from top of current master branch.  The following fixes
> the issue for me, but it doesn't feel like the "correct" solution:
> 
> --------8<--------
> $ git diff
> diff --git a/gps/packet.py.in b/gps/packet.py.in
> index fb4360b3f..77cd6ae24 100644
> --- a/gps/packet.py.in
> +++ b/gps/packet.py.in
> @@ -44,7 +44,7 @@ _cwd = os.getcwd()
>  if 'gpsd' in _cwd.split('/'):
>      _path = _cwd + '/'
>  else:
> -    _path = ''
> +    _path = './'
>  #    _path = ['@libdir@']
> 
>  try:
> --------8<--------
> 
> I haven't looked deeply into it, but suspect what is happening is that
> the way it's written currently is dependent on library search behavior
> of newer Python versions, and that ctypes in Python 2.7.6 doesn't
> include the current directory in the load path.
> 
> To test this hypothesis, I've tried a couple of things.
> 
> This works:
> 
>     LD_LIBRARY_PATH=. ./regress-driver test/daemon/passthrough.log
> 
> This does not:
> 
>     scons check
> 
> It fails with:
> 
>     Failed to load the library: libgpsdpacket.so.27.0.0
>     scons: *** [python-versions] Error 1
>     scons: building terminated because of errors.
> 
> Best regards,
> Gregory
> 




reply via email to

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