gpsd-dev
[Top][All Lists]
Advanced

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

[gpsd-dev] RPATH tangle


From: Hal Murray
Subject: [gpsd-dev] RPATH tangle
Date: Sun, 01 Dec 2013 20:10:00 -0800

First, a request/suggestion:

scons prints out things like:
  Altered configuration variables:
  bluez = False (default True): BlueZ support for Bluetooth devices
They usually scroll way off screen so nobody sees them unless they know 
enough to go looking for them.

How about saving important messages and repeating them at the end of a run 
where they will be easy to see?

---------

address@hidden said:
> The mess around chrpath now seems resolved.  Judicious deployment of
> LD_LIBRARY_PATH settings in regress-driver and the scons library has made
> embedding $PWD in RPATH unnecessary for people running the standard
> regression tests; only ad-hoc tests (e.g. running gpsd or gpsmon by hand)
> are a problem now.  Accordingly, I have changed the configuration default to
> chrpath=no and removed it from the dependency 

I think defaulting chrpath=no is evil.  I could probably learn to live with 
it, but I'm likely to make stupid errors when trying to test things.

I think it should "default" to yes if chrpath is available, and if not 
available or you specified chrpath=no, scons should print a warning message 
reminding you that ./gpsxxx needs LD_LIBRARY_PATH or such.  The details could 
be in a README type file.

Maybe the concept of things defaulting to yes or no is not good enough.

Maybe we should add something like test=yes so the no-chrpath case can build 
with the local dir in RPATH.

There is a corner of scons that I don't understand.  Some (maybe all?) 
configuration variables seem to be sticky.  That may make it much easier for 
me to work with a default of chrpath=no.  Once I set it to yes, it will stay 
that way while I run scons from the command line.

It could also make it much easier for a packager to work without chrpath if 
the default is yes by putting the right magic in a script.  (I'm assuming 
most packaging uses a script to do most of the work.)

----------

How many use cases are there?
  Packager:
    needs to work without chrpath
    scons check should work both with and without chrpath
  Developer:
    Is it OK to assume chrpath is available?
    ./gpsxxx needs to use local libraries.
    scons check should work

----------

I think the current RPATH stuff is a bit confused.  With chrpath=yes, I get:
  ./gpsmon: RPATH=/home/murray/gpsd/gpsd2://usr/local/lib
I think the second part, /usr/local/lib is wrong.  I don't want it using the 
installed libraries.


PS:  Current RPATH gets set to "//usr/local/lib" (extra /, no big deal, just 
ugly)


-- 
These are my opinions.  I hate spam.






reply via email to

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