EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [Merge] ~bhill/epics-base:shared-rpath-independent-of-static-build into epics-base:7.0
From: rivers via Core-talk <[email protected]>
To: Bruce Hill <[email protected]>
Date: Thu, 26 Sep 2019 17:36:07 -0000
I made that change:

corvette:base-7.0.3/configure/os>git diff CONFIG.Common.linuxCommon
diff --git a/configure/os/CONFIG.Common.linuxCommon b/configure/os/CONFIG.Common.linuxCommon
index 965de09..ab00e4b 100644
--- a/configure/os/CONFIG.Common.linuxCommon
+++ b/configure/os/CONFIG.Common.linuxCommon
@@ -24,14 +24,14 @@ STATIC_LDFLAGS_NO=
 STATIC_LDLIBS_YES= -Wl,-Bdynamic

 # Set runtime path for shared libraries if USE_RPATH=YES and STATIC_BUILD=NO
-SHRLIBDIR_RPATH_LDFLAGS_YES_NO = $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
+SHRLIBDIR_RPATH_LDFLAGS_YES = $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
 SHRLIBDIR_LDFLAGS += \
-    $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
+    $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))

 # Set runtime path for products if USE_RPATH=YES and STATIC_BUILD=NO
-PRODDIR_RPATH_LDFLAGS_YES_NO = $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
+PRODDIR_RPATH_LDFLAGS_YES = $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
 PRODDIR_LDFLAGS += \
-    $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
+    $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))

 # Link libraries controlled by COMMANDLINE_LIBRARY
 # The newest Linux versions only need readline, older ones need both


That fixed the problem:

corvette:pointGreyIOC/bin/linux-x86_64>readelf -d pointGreyApp

Dynamic section at offset 0x12caa70 contains 35 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libflycapture.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libX11.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libXext.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libreadline.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000f (RPATH)              Library rpath: [/home/epics/devel/areaDetector-3-7/ADPointGrey/lib/linux-x86_64:/home/epics/devel/areaDetector-3-7/ADPointGrey/iocs/pointGreyIOC/lib/linux-x86_64:/home/epics/devel/areaDetector-3-7/ADCore/lib/linux-x86_64:/home/epics/devel/areaDetector-3-7/ADSupport/lib/linux-x86_64:/home/epics/devel/asyn-4-36/lib/linux-x86_64:/home/epics/devel/autosave-5-10/lib/linux-x86_64:/home/epics/devel/busy-1-7-2/lib/linux-x86_64:/home/epics/devel/calc-3-7-3/lib/linux-x86_64:/home/epics/devel/devIocStats-3-1-16/lib/linux-x86_64:/home/epics/devel/seq-2-2-5/lib/linux-x86_64:/home/epics/devel/sscan-2-11-3/lib/linux-x86_64:/usr/local/epics-devel/base-7.0.3/lib/linux-x86_64]
 0x000000000000000c (INIT)               0x5cb0c0
 0x000000000000000d (FINI)               0x12b3dec
 0x0000000000000019 (INIT_ARRAY)         0x1829d38
 0x000000000000001b (INIT_ARRAYSZ)       1240 (bytes)
 0x000000000000001a (FINI_ARRAY)         0x182a210
 0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
 0x000000006ffffef5 (GNU_HASH)           0x400298
 0x0000000000000005 (STRTAB)             0x4bac68
 0x0000000000000006 (SYMTAB)             0x42b748
 0x000000000000000a (STRSZ)              968394 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000015 (DEBUG)              0x0
 0x0000000000000003 (PLTGOT)             0x18cb000
 0x0000000000000002 (PLTRELSZ)           14064 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x5c79d0
 0x0000000000000007 (RELA)               0x5b33c0
 0x0000000000000008 (RELASZ)             83472 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffe (VERNEED)            0x5b3250
 0x000000006fffffff (VERNEEDNUM)         7
 0x000000006ffffff0 (VERSYM)             0x5a7332
 0x0000000000000000 (NULL)               0x0


Note that the RPATH has the path to all of the libraries which is overkill but at least it contains the one I need.

ldd works fine too:

corvette:pointGreyIOC/bin/linux-x86_64>ldd pointGreyApp
        linux-vdso.so.1 =>  (0x00007ffccbd10000)
        libflycapture.so.2 => /home/epics/devel/areaDetector-3-7/ADPointGrey/lib/linux-x86_64/libflycapture.so.2 (0x00007f9a77a5b000)
        libX11.so.6 => /lib64/libX11.so.6 (0x00007f9a7771d000)
        libXext.so.6 => /lib64/libXext.so.6 (0x00007f9a7750b000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9a772ef000)
        libreadline.so.6 => /lib64/libreadline.so.6 (0x00007f9a770a9000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f9a76ea1000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f9a76c9d000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9a76996000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f9a76694000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f9a7647e000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f9a760b1000)
        libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f9a75e8b000)
        libraw1394.so.11 => /lib64/libraw1394.so.11 (0x00007f9a75c7b000)
        libusb-1.0.so.0 => /lib64/libusb-1.0.so.0 (0x00007f9a75a62000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9a78aa6000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f9a7583a000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f9a75610000)
        libudev.so.1 => /lib64/libudev.so.1 (0x00007f9a753fa000)
        libXau.so.6 => /lib64/libXau.so.6 (0x00007f9a751f6000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007f9a74ff1000)
        libdw.so.1 => /lib64/libdw.so.1 (0x00007f9a74daa000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007f9a74ba5000)
        libelf.so.1 => /lib64/libelf.so.1 (0x00007f9a7498d000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f9a74777000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f9a74551000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f9a74341000)



-- 
https://code.launchpad.net/~bhill/epics-base/+git/epics-base/+merge/373243
Your team EPICS Core Developers is requested to review the proposed merge of ~bhill/epics-base:shared-rpath-independent-of-static-build into epics-base:7.0.

References:
[Merge] ~bhill/epics-base:shared-rpath-independent-of-static-build into epics-base:7.0 Bruce Hill via Core-talk

Navigate by Date:
Prev: Re: [Merge] ~bhill/epics-base:shared-rpath-independent-of-static-build into epics-base:7.0 mdavidsaver via Core-talk
Next: Re: [Merge] ~epics-core/epics-base/+git/database:epicsCallback into epics-base:7.0 mdavidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: [Merge] ~bhill/epics-base:shared-rpath-independent-of-static-build into epics-base:7.0 mdavidsaver via Core-talk
Next: Re: [Merge] ~bhill/epics-base:shared-rpath-independent-of-static-build into epics-base:7.0 Bruce Hill via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 26 Sep 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·