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> | 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> |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: EPICS INSTALL_LOCATION/FINAL_LOCATION doesn't work? |
From: | "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Muir, John Lewis" <jlmuir at imca-cat.org>, EPICS Tech-Talk <tech-talk at aps.anl.gov> |
Date: | Tue, 21 Jan 2025 19:33:30 +0000 |
Hi Lewis, 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. 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!). cswdev02%
cat /etc/redhat-release Red Hat Enterprise Linux release 8.9 (Ootpa) cswdev02%
mkdir /tmp/45 cswdev02%
cd /tmp/45 cswdev02%
mkdir distfiles opt src work cswdev02%
cd distfiles cswdev02%
curl -OL https://epics.anl.gov/download/base/base-7.0.8.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3059k 100 3059k 0 0 4941k 0 --:--:-- --:--:-- --:--:-- 4941k cswdev02%
cd ../src cswdev02%
tar xzf ../distfiles/base-7.0.8.1.tar.gz cswdev02%
cd base-7.0.8.1 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%
setenv EPICS_HOST_ARCH linux-x86_64 cswdev02%
make -sj ... 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) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f31e06da000) libm.so.6 => /lib64/libm.so.6 (0x00007f31e0358000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f31e0140000) libc.so.6 => /lib64/libc.so.6 (0x00007f31dfd7b000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f31dfb5b000) libreadline.so.7 => /lib64/libreadline.so.7 (0x00007f31df90c000) librt.so.1 => /lib64/librt.so.1 (0x00007f31df704000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f31df500000) /lib64/ld-linux-x86-64.so.2 (0x00007f31e0f53000) libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f31df2d3000) 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) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f30c91a3000) libm.so.6 => /lib64/libm.so.6 (0x00007f30c8e21000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f30c8c09000) libc.so.6 => /lib64/libc.so.6 (0x00007f30c8844000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f30c8624000) libreadline.so.7 => /lib64/libreadline.so.7 (0x00007f30c83d5000) librt.so.1 => /lib64/librt.so.1 (0x00007f30c81cd000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f30c7fc9000) /lib64/ld-linux-x86-64.so.2 (0x00007f30c9a1c000) libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f30c7d9c000) One thing I haven’t tried is to move
$(FINAL_LOCATION) outside of
$(LINKER_ORIGIN_ROOT), but I don’t think that should be a problem. - Andrew -- Complexity comes for free, Simplicity you have to work for. |