On 01/21, Johnson, Andrew N. wrote:
> I think your recipe needs to be something like I’ve shown below, which (after experimentation and carefully reading the Release Notes) works for me on a RHEL-8 system.
Hi, Andrew!
Thank you for taking a look at this!
> I suspect this doesn’t need LD_LIBRARY_PATH to be set at all though. The PYTHON=python3 setting is only necessary for RHEL-8 and above — EPICS builds only need python when you set LINKER_USE_RPATH=ORIGIN. I am planning to replace the Python script with Perl though (thanks Argo!).
Yeah, seems a shame to introduce a build-time dependency on Python for
one script when there's already a dependency on Perl, so thanks for
planning to change that!
> cswdev02% cat > configure/CONFIG_SITE.local
> INSTALL_LOCATION=/tmp/45/work
> FINAL_LOCATION=/tmp/45/opt/epics-7.0.8.1
> LINKER_USE_RPATH=ORIGIN
> LINKER_ORIGIN_ROOT=/tmp/45
> export LD_LIBRARY_PATH=$(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH)
> PYTHON=python3
> ^D
> ...
> cswdev02% cd /tmp/45
> cswdev02% ldd work/bin/linux-x86_64/caget
> linux-vdso.so.1 (0x00007ffcbc3dd000)
> libca.so.4.14.4 => /tmp/45/work/bin/linux-x86_64/../../lib/linux-x86_64/libca.so.4.14.4 (0x00007f31e0ced000)
> libCom.so.3.23.1 => /tmp/45/work/bin/linux-x86_64/../../lib/linux-x86_64/libCom.so.3.23.1 (0x00007f31e0a6f000)
> ...
> cswdev02% mv work opt/epics-7.0.8.1
> cswdev02% ldd opt/epics-7.0.8.1/bin/linux-x86_64/caget
> linux-vdso.so.1 (0x00007fff2212b000)
> libca.so.4.14.4 => /tmp/45/opt/epics-7.0.8.1/bin/linux-x86_64/../../lib/linux-x86_64/libca.so.4.14.4 (0x00007f30c97b6000)
> libCom.so.3.23.1 => /tmp/45/opt/epics-7.0.8.1/bin/linux-x86_64/../../lib/linux-x86_64/libCom.so.3.23.1 (0x00007f30c9538000)
> ...
This is unfortunate because I was hoping to avoid using $ORIGIN. (I'm
thinking about packaging, and at least one package management system,
pkgsrc, does not allow the use of $ORIGIN.) It also seems to contradict
the comment for FINAL_LOCATION in configure/CONFIG_SITE:
----
# The location from which files placed in INSTALL_LOCATION will actually run.
# This path is compiled into executables, and so should be an absolute.
# May be used to achieve the effect of autotools. eg.
# ./configure --prefix=<FINAL_LOCATION>
# make DESTDIR=<INSTALL_LOCATION>
# Defaults to the absolute expansion of $(INSTALL_LOCATION)
FINAL_LOCATION=/Users/jlmuir/tmp/45/opt/epics-7.0.8.1
----
That comment doesn't say anything about needing to set
LINKER_USE_RPATH=ORIGIN. Have things changed?
Michael wrote about DESTDIR-like support in 2020 in
https://epics.anl.gov/core-talk/2020/msg01276.php
where he said:
> @Chris, if your tools complain about -rpath then use LINKER_USE_RPATH=NO
> and FINAL_LOCATION= and set $LD_LIBRARY_PATH in the environment.
>
> FINAL_LOCATION being a rough analog of 'configure --prefix=...' in
> this context. eg.
>
>> export LD_LIBRARY_PATH==$PWD/lib/$EPICS_HOST_ARCH
>> make LINKER_USE_RPATH=NO FINAL_LOCATION=/usr/local/epics INSTALL_LOCATION=/tmp/staging
I was really hoping that that would work!
Lewis
- References:
- EPICS INSTALL_LOCATION/FINAL_LOCATION doesn't work? J. Lewis Muir via Tech-talk
- Re: EPICS INSTALL_LOCATION/FINAL_LOCATION doesn't work? Johnson, Andrew N. via Tech-talk
- Navigate by Date:
- Prev:
Re: EPICS INSTALL_LOCATION/FINAL_LOCATION doesn't work? Michael Davidsaver via Tech-talk
- Next:
Re: Phytron support for EPICS motor (pull request #8) Peterson, Kevin M. via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
<2025>
- Navigate by Thread:
- Prev:
Re: EPICS INSTALL_LOCATION/FINAL_LOCATION doesn't work? Michael Davidsaver via Tech-talk
- Next:
Question Regarding HLS/LLS Settings and DIR Values Zhibang Shen via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
<2025>
|