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