Sorry for the long delay. My workday got interrupted unexpectedly yesterday.
I set the INSTALL_LOCATION for all sub-projects of synApps with
sed -i -e 's:^#INSTALL_LOCATION.*:INSTALL_LOCATION=/opt/epics:' $(find . -type f -name CONFIG_SITE)
since INSTALL_LOCATION is not propagated by make release.
I had to copy RULES_BUILD over on a linux-x86_64 installation, although that doesn’t seem to be working for ARM.
To summarize the test, copying RULES_BUILD to /opt/epics/cfg/RULES_SEQ and /opt/epics/configure/RULES_SEQ still result in the same failure.
On 12/11/18 2:04 PM, Iain Marcuson wrote:
The synApps RELEASE files point to $(SUPPORT)/seq-2-2-5. That said, how would I install EPICS and synApps in a distinct directory if I need to include the source?
Ahh, I think I see what's happening; did you configure and build the sequencer with INSTALL_LOCATION in its configure/CONFIG_SITE file pointing to /opt/epics?
My apologies for my earlier accusation, I think you found a bug in the sequencer's build setup. Using INSTALL_LOCATION to install multiple modules into a single location hasn't been supported in EPICS for very long (it's not something we do here at all), and
unfortunately I think you hit one of the remaining pot-holes.
Here's how I think you can resolve this by hand for now: Copy the RULES_BUILD file from the sequencer's configure directory into /opt/epics/cfg as a new file called RULES_SEQ (you don't really have to rename it but it's probably safest to do so; the name must
start with "RULES"). This will now be included by your other modules at build-time. You might need the line
SEQ=/opt/epics
or
SNCSEQ=/opt/epics
in their configure/RELEASE files though for them to find the snc binary.
Please let us know if this works, we can automate it in later versions of the sequencer.
- Andrew
Hi Iain,
On 12/11/18 1:20 PM, Iain Marcuson via Tech-talk wrote:
I was able to build the standalone sequencer fine. Yokogawa appears to build, but asyn fails with
make[4]: *** No rule to make target `ipSNCServer.o', needed by `libtestIPServerSupport.a'. Stop.
The sequencer provides its own set of build rules which the EPICS build system will pull in automatically from the sncseq module when you list it in your application's configure/RELEASE file. This isn't happening for you, and I suspect
you're trying to use a modified build system since you also wrote this earlier:
-snc binary in /opt/epics/bin/linux-arm
That isn't how the sequencer normally comes, GNUmake needs to see the contents of the sncseq/configure/RULES_BUILD file for any application that needs to compiler sequence programs.
- Andrew
--
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon
--
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon