Just to be clear, the module “seq” has been installed on my server:
$ ls -lht /usr/lib/epics/lib/linux-x86_64/libseq*
-r--r--r--. 1 root root 105K Sep 3 2020 /usr/lib/epics/lib/linux-x86_64/libseq.a
-r-xr-xr-x. 1 root root 74K Sep 3 2020 /usr/lib/epics/lib/linux-x86_64/libseq.so
-r--r--r--. 1 root root 2.5K Sep 3 2020 /usr/lib/epics/lib/linux-x86_64/libseqSoftIocSupport.a
-r-xr-xr-x. 1 root root 8.3K Sep 3 2020 /usr/lib/epics/lib/linux-x86_64/libseqSoftIocSupport.so
The building rules in base-R7.0.4.1 must have changed. I guess the rules ignore “SNCSEQ” when SNCSEQ has the same path as EPICS_BASE. If my guess is right, it explains why I still get the error “No rule to
make target 'ipSNCServer.o'” even after I have SNCSEQ defined.
Thanks,
Yong
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Reply-To: "Hu, Yong" <yhu at bnl.gov>
Date: Tuesday, April 20, 2021 at 4:44 PM
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Subject: asyn: No rule to make target 'ipSNCServer.o'; Does configure/RELEASE have multiple pointers to ...
Hello everyone,
I am trying to build the latest asyn (commit a2da087) against base-R7.0.4.1, but encountered the same error “No rule to make target 'ipSNCServer.o'” as reported on tech-talk:
https://epics.anl.gov/tech-talk/2007/msg01045.php
However, I do have SNCSEQ defined in asyn/configure/RELEASE:
SNCSEQ=/usr/lib/epics
EPICS_BASE=/usr/lib/epics
As you see, both EPICS_BASE and SNCSEQ point to the same path in my RELEASE. This is the historical tradition at NSLS-2: we install all EPICS stuff (base, support modules) in a flat directory “/usr/lib/epics”.
$ ls /usr/lib/epics/
bin cfg configure db dbd include lib startup templates
This has been working well for base-3.14.12, meaning I can build the latest asyn (commit a2da087) against base-3.14.12 with SNCSEQ=/usr/lib/epics. Now, this kind of directory structure seems to not work for
base-R7.0.4.1. I do see some warnings when building asyn against base-R7.0.4.1:
/usr/lib/epics/configure/RULES_BUILD:575: Warning: Base configure/RULES_BUILD file included more than once. Does configure/RELEASE have multiple pointers to /usr/lib/epics?
If I make a change like this: SNCSEQ=/home/yhu/epics/seq-2-2-6 where I have built “seq” in my home directory, I can build the latest asyn (commit a2da087) against base-R7.0.4.1 successfully.
So, the problem seems related to “Does configure/RELEASE have multiple pointers to …”. A simple search on Google/Tech-Talk does not give me any hints to fix the problem. Any suggestions are welcomed!
Thanks,
Yong