gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] The mess around SHM export keys is solved


From: Hal Murray
Subject: Re: [gpsd-dev] The mess around SHM export keys is solved
Date: Mon, 16 Feb 2015 12:58:34 -0800

scons check is working for me now when gpsd is running.  Thanks.

On NetBSD, I'm now getting:

Processing test/daemon/GPSmap-76S.log
gpsd:ERROR: unable to connect to the DBUS system bus
Processing test/daemon/ac12.log
gpsd:ERROR: unable to connect to the DBUS system bus
...

Did you make a deliberate change in that area?

Works on FreeBSD

----------

> It was a couple of minor coding errors on my part, which I would have
> spotted sooner if Hal had been running the code he thought he was.  As it
> was, some bug reports sent me haring off in a wrong direction. 

> The regression-test driver already sets LD_LIBRARY_PATH to include .

Doesn't that mean it should use the right libraries when I forgot to set 
chrpath=yes?

What was the case where I misled you by running the wrong code?

But maybe it really was running the wrong libraries...

---------

I tried to test chrpath=no
I hacked the top of regress-driver to print LD_LIBRARY_PATH
It seems to be set correctly.

But things hang on the first test and the timer doesn't go off.  ???

sys linux2 platform Linux-3.18.6-200.fc21.i686-i686-with-fedora-21-Twenty_One:
 WRITE_PAD = 0.00000

./gpsd: RPATH=//usr/local/lib
LD_LIBRARY_PATH: /home/murray/gpsd/work

Testing the daemon...
Processing test/daemon/GPSmap-76S.log

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   

12860 murray    20   0   13128   9596   6216 R  99.0  0.5  21:03.08 python    

12861 murray    20   0    3356   1620   1504 R  11.0  0.1   2:14.90 sed       




Here is a chunk from ps while it is hung.  I don't see a gpsd in here.
27919 pts/0    S+     0:02 /usr/bin/python /usr/bin/scons check
27967 pts/0    S+     0:00 sh -c :; ./gpsfake -T; ./regress-driver 
test/daemon/*
27971 pts/0    S+     0:00 /bin/sh ./regress-driver 
test/daemon/GPSmap-76S.log t
27983 pts/0    R+     3:06 python /home/murray/gpsd/work/gpsfake -s 38400 -1 
-p
27984 pts/0    S+     0:19 sed -e /^gpsd:/d -e /^gpsfake/d -e /GPS-DATA/d -e 
/WA

I don't see a gpsd in there.

I started gpsd by hand:
address@hidden work]$ LD_LIBRARY_PATH=/home/murray/gpsd/work ./gpsd -n -N -S 
10003 /dev/ttyUSB2
gpsd:ERROR: shmget(0x47505344, 8060, 0666) for SHM export failed: Invalid 
argument
gpsd:ERROR: device open failed: Device or resource busy - retrying read-only
gpsd:ERROR: read-only device open failed: Device or resource busy
gpsd:ERROR: initial GPS device /dev/ttyUSB2 open failed
address@hidden work]$ ^C
(There is a production gpsd running.)

lsof in another window said:
address@hidden work]# lsof | grep libgps
gpsd        696        nobody  mem       REG        8,4    121136    1345880 
/usr/local/lib/libgps.so.22.0.0
gpsd        696        nobody  mem       REG        8,4    385788    1345881 
/usr/local/lib/libgpsd.so.22.0.0
gpsd        696   700  nobody  mem       REG        8,4    121136    1345880 
/usr/local/lib/libgps.so.22.0.0
gpsd        696   700  nobody  mem       REG        8,4    385788    1345881 
/usr/local/lib/libgpsd.so.22.0.0
gpsd      28094        murray  mem       REG        8,4    121136    1345880 
/usr/local/lib/libgps.so.22.0.0
gpsd      28094        murray  mem       REG        8,4    385788    1345881 
/usr/local/lib/libgpsd.so.22.0.0
address@hidden work]# 

So it's getting the wrong libraries.

If I smash the RPATH in ./gpsd to garbage, lsof shows it using the right 
libraries.

Does LD_LIBRARY_PATH get appended to RPATH rather than prepended?

It fails on tom if you need a test case.


-- 
These are my opinions.  I hate spam.






reply via email to

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