Merge ~bhill/epics-base:shared-rpath-independent-of-static-build into ~epics-core/epics-base/+git/epics-base:7.0
Proposed by
Bruce Hill
Status: | Merged |
---|---|
Approved by: | Andrew Johnson |
Approved revision: | 4f0c9c97c6265f2a37ace54824ad4cf3bc453203 |
Merged at revision: | ddb79a37bc51acd9bab58bcfe98260a3ba45a41d |
Proposed branch: | ~bhill/epics-base:shared-rpath-independent-of-static-build |
Merge into: | ~epics-core/epics-base/+git/epics-base:7.0 |
Diff against target: |
26 lines (+6/-6) 1 file modified
configure/os/CONFIG.Common.linuxCommon (+6/-6) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrew Johnson | Approve | ||
Review via email: mp+373243@code.launchpad.net |
Commit message
Shared lib rpath should not depend on whether or not static libs are also being built.
EPICS build system supports building both static and shared libs.
Useful for modules which might get used in both static and dynamically linked apps.
Without this fix shared libs only get rpath if LINKER_
Static builds don't pay any attention to rpath linker flags so no need to disable.
To post a comment you must log in.
I believe this is a problem I have been noticing recently when using base 7.0.3.
When I build ADPointGrey statically it does not find the vendor library I installed and linked with libflycapture.so.2. Here is the output of ldd.
ADPointGrey>ldd iocs/pointGreyI OC/bin/ linux-x86_ 64/pointGreyApp
libX11.so.6 => /lib64/libX11.so.6 (0x00007f8ef5c6 2000)
librt.so.1 => /lib64/librt.so.1 (0x00007f8ef53e 6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f8ef51e 2000)
libm.so.6 => /lib64/libm.so.6 (0x00007f8ef4bd 9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8ef45f 6000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f8ef43c e000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f8ef3fa 0000)
I have to to add ADPointGrey/ lib/linux- x86_64 to my LD_LIBRARY_PATH.
corvette: ~/devel/ areaDetector/ ADPointGrey> setenv LD_LIBRARY_PATH /home/epics/ devel/areaDetec tor/ADPointGrey /lib/linux- x86_64
Now when I run ldd it finds the library:
corvette: ~/devel/ areaDetector/ ADPointGrey> ldd iocs/pointGreyI OC/bin/ linux-x86_ 64/pointGreyApp
libX11.so.6 => /lib64/libX11.so.6 (0x00007efcdea8 4000)
...