[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gpsd-dev] [PATCH 1/2] Improve some details in time service document
From: |
Hal Murray |
Subject: |
Re: [gpsd-dev] [PATCH 1/2] Improve some details in time service documentation. |
Date: |
Mon, 02 Dec 2013 15:07:27 -0800 |
How about including the REVISION string in the libraries, either directly as
a string or a procedure that returns a string. Then clients can check to
make sure they are getting the right library.
That would be gross overkill if everything was working cleanly, but it will
pay for itself if it catches any mismatches.
--------
address@hidden said:
> What's currently in the SConstruct *does* contain /usr/local/lib in the list
> of installation directories that don't require an RPATH setting.
That doesn't seem right. It won't work on my Fedora boxes. (Or maybe I
don't understand what you are saying.)
Fedora has /etc/ld.so.conf I assume other Linux systems have it too. I
didn't find it on my NetBSD or FreeBSD box.
We could add something that tells the loader to look in /usr/local/lib, but
that doesn't seem right. It's making assumptions that might impact other
packages. That seems like a distro decision rather than one that should be
made by a single package. It would look OK to me if the libraries were
installed in /usr/local/lib/gpsd/
-----------
I think there are two tangled issues: using RPATH and using chrpath.
Using RPATH allows 3 cases to coexist:
code packaged by a distro using /usr/bin and /usr/lib
code installed by developer or power-user into /usr/local
code run from a devel directory
The first case works without any RPATH. That's the packaged by distros
case, and I think that's the only case where somebody wants no-RPATH.
Building when things will get installed into /usr/lib could be smart enough
to leave out the RPATH.
Adding /usr/local/lib/ to the default search path will break the first case
after new libraries get installed into /usr/local/lib/
If chrpath is available, then scons install can cleanly make the second case
from the third. If not, then you have to rebuild to change RPATH.
----------
> I'm leaning towards leaving it that way and documenting the fact that the
> installation process may pop a sprocket (requiring the user to set RPATH by
> hand) if /usr/local/lib is not on the default rpath. But I'm waiting to hear
> comments from Hal and Miroslav, if they have any.
I was hoping that LD_LIBRARY_PATH was going to do the right thing.
What do other packages with shared libraries do?
--
These are my opinions. I hate spam.