EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: Issue installing asyn on CentOS 7
From: Brandon Gunn via Tech-talk <tech-talk at aps.anl.gov>
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 15 Jun 2023 11:45:03 -0700
Hi Mark,

After cleaning up a botched install of a second version of glibc, this fully resolved the issue with installng asyn. Thank you to everyone who replied for helping! 

Unfortunately, now I am encountering an issue installing StreamDevice, but I will make a new thread for the sake of organization.

Thank you,
Brandon

On Thu, Jun 15, 2023 at 8:26 AM Mark Rivers <rivers at cars.uchicago.edu> wrote:

Hi Brandon,

 

On CentOS 7 you don’t need tirpc, just use the standard glibc-headers packages which installs /usr/include/rpc/rpc.h.  Does that file exist on your system? I have used many versions of CentOS7 and that file has always been present.

 

You should not uncomment this line in asyn/configure/CONFIG_SITE

# TIRPC=YES

 

And you should not change any Makefiles.

 

Please go back to the distributed version of asyn, make sure the glibc-headers package is installed.  If you still get an error building please send the complete output of make when building asyn.

 

Mark

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Brandon Gunn via Tech-talk
Sent: Wednesday, June 14, 2023 5:20 PM
To: tech-talk at aps.anl.gov
Subject: Issue installing asyn on CentOS 7

 

Hello,

 

I have encountered another issue while trying to get EPICS installed on our CentOS 7 machine.

 

Based on similar posts in the mailing list, it seems to be TIRCP related. Here is the error I get when I try to make:

 

$ make
make -C ./configure install
make[1]: Entering directory `/home/specadm/EPICS/support/asyn/configure'
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory `/home/specadm/EPICS/support/asyn/configure/O.linux-x86_64'
perl -CSD /home/specadm/EPICS/epics-base/bin/linux-x86_64/convertRelease.pl checkRelease
make[2]: Leaving directory `/home/specadm/EPICS/support/asyn/configure/O.linux-x86_64'
make[1]: Leaving directory `/home/specadm/EPICS/support/asyn/configure'
make -C ./makeSupport install
make[1]: Entering directory `/home/specadm/EPICS/support/asyn/makeSupport'
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory `/home/specadm/EPICS/support/asyn/makeSupport/O.linux-x86_64'
make[2]: Nothing to be done for `install'.
make[2]: Leaving directory `/home/specadm/EPICS/support/asyn/makeSupport/O.linux-x86_64'
make[1]: Leaving directory `/home/specadm/EPICS/support/asyn/makeSupport'
make -C ./opi install
make[1]: Entering directory `/home/specadm/EPICS/support/asyn/opi'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/home/specadm/EPICS/support/asyn/opi'
make -C ./asyn install
make[1]: Entering directory `/home/specadm/EPICS/support/asyn/asyn'
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory `/home/specadm/EPICS/support/asyn/asyn/O.linux-x86_64'
make[2]: Nothing to be done for `install'.
make[2]: Leaving directory `/home/specadm/EPICS/support/asyn/asyn/O.linux-x86_64'
make[1]: Leaving directory `/home/specadm/EPICS/support/asyn/asyn'
make -C asyn/asynPortDriver/unittest install
make[1]: Entering directory `/home/specadm/EPICS/support/asyn/asyn/asynPortDriver/unittest'
make -C O.linux-x86_64 -f ../Makefile TOP=../../../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory `/home/specadm/EPICS/support/asyn/asyn/asynPortDriver/unittest/O.linux-x86_64'
/usr/bin/g++ -o asynPortDriverTest  -L/home/specadm/EPICS/support/asyn/lib/linux-x86_64 -L/home/specadm/EPICS/epics-base/lib/linux-x86_64 -Wl,-rpath,/home/specadm/EPICS/support/asyn/lib/linux-x86_64 -Wl,-rpath,/home/specadm/EPICS/epics-base/lib/linux-x86_64           -rdynamic -m64         asynPortDriverTest.o    -lasyn -ldbRecStd -ldbCore -lca -lCom
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_bytes'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_free'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `clnt_sperror'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_bool'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_int'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `clnt_spcreateerror'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_string'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_void'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_enum'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `clnttcp_create'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_u_char'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_u_int'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_u_short'
/home/specadm/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_char'
collect2: error: ld returned 1 exit status
make[2]: *** [asynPortDriverTest] Error 1
make[2]: Leaving directory `/home/specadm/EPICS/support/asyn/asyn/asynPortDriver/unittest/O.linux-x86_64'
make[1]: *** [install.linux-x86_64] Error 2
make[1]: Leaving directory `/home/specadm/EPICS/support/asyn/asyn/asynPortDriver/unittest'
make: *** [asyn/asynPortDriver/unittest.install] Error 2

 

Things I have tried:

 

1) In configure/CONFIG_SITE, I uncommented the line:

TIRPC=YES

 

2) In asyn/Makefile, I appended this to the very end:

 ifeq ($(TIRPC),YES)

    USR_INCLUDES_Linux += -I/usr/include/tirpc
    asyn_SYS_LIBS_Linux += tirpc
  endif

 

3) I removed the empty header files from /usr/include/rpc and replaced them with symbolic links pointing at  the files in /usr/include/tirpc/rpc

 

Unfortunately, nothing seems to have any effect on the error generated from make and that seems to have exhausted all solutions I could find in the archives. Any ideas about how to fix this?

 

P.S.: This machine controls our diffractometer and we are just trying to get spec to talk to our Lakeshore 336  -- both asyn and StreamDevice are necessary for this purpose?

 

Thank you,
Brandon

 

 


References:
Issue installing asyn on CentOS 7 Brandon Gunn via Tech-talk
RE: Issue installing asyn on CentOS 7 Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: cross-compiling v7.0.7 Andrew Johnson via Tech-talk
Next: Re: cross-compiling v7.0.7 Pierrick M Hanlet 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  <20232024 
Navigate by Thread:
Prev: RE: Issue installing asyn on CentOS 7 Mark Rivers via Tech-talk
Next: cross-compiling v7.0.7 Pierrick M Hanlet 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  <20232024 
ANJ, 15 Jun 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·