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  2023  <2024 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
<== Date ==> <== Thread ==>

Subject: Re: EPICS db-file creation and installation with EPICS BASE 7
From: Hovanes Egiyan via Tech-talk <tech-talk at aps.anl.gov>
To: Simon Rose <Simon.Rose at ess.eu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 25 Jan 2024 13:35:07 -0500
Hi Simon, 

Thanks for the explanation. Your suggestion worked fine. 

Best, 
  Hovanes. 


On Thu, Jan 25, 2024 at 2:45 AM Simon Rose <Simon.Rose at ess.eu> wrote:

Hi Hovanes Egiyan –

 

The issue is that at least in the lastest versions of EPICS base, if you generate a .db file (or several other file types) it is also expected that you will have a .db.d file (a dependency file) as well. See https://github.com/epics-base/epics-base/blob/7.0/configure/RULES.Db#L269 for some examples:

 

%.db$(DEP): %$(SUBST_SUFFIX)

                @$(RM) $@

                $(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@

 

%.db$(DEP): ../%$(SUBST_SUFFIX)

                @$(RM) $@

                $(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@

 

%.db$(DEP): %$(TEMPL_SUFFIX)

                @$(RM) $@

                $(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@

 

%.db$(DEP): ../%$(TEMPL_SUFFIX)

                @$(RM) $@

                $(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@

 

Normally .db files are generated as above from .substitutions or .template files, not out of thin air.

 

One such example is from sequencer, see here: https://gitlab.esss.lu.se/epics-modules/sequencer-2-2/-/blob/master/test/validate/Makefile?ref_type=heads#L124-L125

 

In short, it should be enough for you to add the lines

 

test.db$(DEP): ../Makefile

                @echo "$(COMMON_DIR)/test.db: ../Makefile" > $@

 

To your makefile.

 

Cheers,

 

Simon

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Hovanes Egiyan via Tech-talk <tech-talk at aps.anl.gov>
Reply to: Hovanes Egiyan <hovanes.egiyan at gmail.com>
Date: Wednesday, 24 January 2024 at 22:52
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Subject: EPICS db-file creation and installation with EPICS BASE 7

 

Hi,

I have an old EPICS application that automatically creates an EPICS db-file and then installs it into the application's top db-directory. The Makefile worked fine using base R3-14-12-4 (using RHEL7). Now I am trying to migrate it to EPICS base R7-0-8 (but using RHEL9) , and now I am having problems with the Makefile. I attached a much simplified version of the Makefile of the Db directory to this message. Basically, I am creating a db-file called "test.db" using the "touch" command (instead of the actual script) and I try to install it into the db-directory. While it works fine with EPICS base base R3-14-12-4, when I run the "make" command using EPICS base 7, the file test.db  actually does get installed , but then I get these error messages (see below), and the "make" process quits .


hd-rhel9:Db> make rebuild
rm -rf O.linux-x86_64 O.Common
perl -CSD /gluex/controls/epics/R7-0-8-RHEL9/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \
    T_A=linux-x86_64 install
make[1]: Entering directory '/gluonfs1/home/hovanes/test/newEPICS/epics7exampleApp/Db/O.linux-x86_64'
touch ../O.Common/test.db
Installing created db file ../../../db/test.db
make[1]: *** No rule to make target 'test.db.d', needed by 'build'.  Stop.
make[1]: Leaving directory '/gluonfs1/home/hovanes/test/newEPICS/epics7exampleApp/Db/O.linux-x86_64'
make: *** [/gluex/controls/epics/R7-0-8-RHEL9/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
hd-rhel9:Db>

 

 

I have not tried the new EPICS base 7 on RHEL7, but I do not think RHEL9 is the problem. I would appreciate any help debugging this problem.


Thanks,
      Hovanes Egiyan.


 


References:
EPICS db-file creation and installation with EPICS BASE 7 Hovanes Egiyan via Tech-talk
Re: EPICS db-file creation and installation with EPICS BASE 7 Simon Rose via Tech-talk

Navigate by Date:
Prev: RE: Questions about creating a Model 3 Driver for stepper motor axis Mark Rivers via Tech-talk
Next: Re: EPICS Archiver Appliance BPL- Changing storage intervals for PVs on an individual basis Shankar, Murali 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  2023  <2024
Navigate by Thread:
Prev: Re: EPICS db-file creation and installation with EPICS BASE 7 Simon Rose via Tech-talk
Next: EPICS Archiver Appliance BPL- Changing storage intervals for PVs on an individual basis Windsor Tanner 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  2023  <2024
ANJ, 25 Jan 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·