[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gpsd-dev] scons check fail gpsd3.14 ubuntu 14
From: |
Hal Murray |
Subject: |
Re: [gpsd-dev] scons check fail gpsd3.14 ubuntu 14 |
Date: |
Wed, 18 Mar 2015 02:03:14 -0700 |
>> If chrpath is no, then make check should error out.
> An interesting idea, but we could be on a platform where chrpath is not
> available. Do we really want to force the user to static-link in that case?
I poked around a bit more.
Here is the condensed version from my man page for ld.so/ld-linux-so:
If RUNPATH doesn't exist:
search RPATH, then LD_LIBRARY_PATH, then normal stuff.
else
search LD_LIBRARY_PATH, then RUNPATH, then normal stuff.
It also says that RPATH is deprecated. It doesn't say why, but this might be
the reason.
(It calls them DT_RPATH and DT_RUNPATH.)
I don't know my way around scons/SConstruct well enough to fix it.
I added "chrpath -c ./gpsd" to the top of regress-driver.
That now works on a chrpath=no setup that used to do crazy things.
ldd can be used to printout which libraries will be used.
It processes LD_LIBRARY_PATH
A bit of hacking confirms the search order descriptions on the ld.so man page.
I think you have to add ",--enable-new-dtags" to the -Wl,rpath=xxx line to
make the linker produce RUNPATH rather than RPATH.
I don't know how many systems do/don't support RUNPATH. I think it's been
around for a long time. It's supported on a very old linux box as well as
current NetBSD and FreeBSD.
--
These are my opinions. I hate spam.