EPICS Home

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: Naming restriction in configure/RELEASE
From: "Hu, Yong via Tech-talk" <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov (tech-talk at aps.anl.gov)" <tech-talk at aps.anl.gov>
Date: Thu, 1 Feb 2024 13:46:26 +0000

Hello everyone,

I am building an IOC application named ‘test6’ based on the classical command ‘makeBaseApp -t …’.  When I put the following line in ‘test6/configure/RELEASE’ to include an external support module, surprisingly the build failed. Pay attention to the name ‘MODULE1’ which contains a digit.
MODULE1 = /nsls2/users/yhu/modules/elauncherSupport

Here is the error message:
**********************************************************

make rebuild

/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE         -DUSE_TYPED_RSET   -D_X86_64_  -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic      -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include    -I/usr/lib/epics/include/compiler/gcc -I/usr/lib/epics/include/os/Linux -I/usr/lib/epics/include        -MM -MF test6Main.d  ../test6Main.cpp

Creating dbd file test6.dbd

perl -CSD /usr/lib/epics/bin/linux-x86_64/dbdExpand.pl   -I. -I.. -I../O.Common -I../../../dbd -I/usr/lib/epics/dbd -o test6.dbd base.dbd asSupport.dbd devIocStats.dbd caPutLog.dbd reccaster.dbd system.dbd elauncherSupport.dbd xxxSupport.dbd dbSubExample.dbd devtest6Version.dbd test6Hello.dbd initTrace.dbd PVAServerRegister.dbd qsrv.dbd

dbdExpand.pl: Can't find file 'elauncherSupport.dbd'

  while reading 'elauncherSupport.dbd' to create 'test6.dbd'

  Your Makefile may need this dependency rule:

    $(COMMON_DIR)/test6.dbd: $(COMMON_DIR)/elauncherSupport.dbd

dbdExpand.pl: Exiting due to errors
**********************************************************


If I change ‘MODULE1’ to ‘MODULE’, then it worked as expected. And I see the path ‘-I/nsls2/users/yhu/modules/elauncherSupport/dbd’ is included in ‘perl -CSD /usr/lib/epics/bin/linux-x86_64/dbdExpand.pl’.
**********************************************************
make build


/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE         -DUSE_TYPED_RSET   -D_X86_64_  -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic      -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include    -I/usr/lib/epics/include/compiler/gcc -I/usr/lib/epics/include/os/Linux -I/usr/lib/epics/include        -MM -MF test6Main.d  ../test6Main.cpp

Creating dbd file test6.dbd

perl -CSD /usr/lib/epics/bin/linux-x86_64/dbdExpand.pl   -I. -I.. -I../O.Common -I../../../dbd -I/nsls2/users/yhu/modules/elauncherSupport/dbd -I/usr/lib/epics/dbd -o test6.dbd base.dbd asSupport.dbd devIocStats.dbd caPutLog.dbd reccaster.dbd system.dbd elauncherSupport.dbd xxxSupport.dbd dbSubExample.dbd devtest6Version.dbd test6Hello.dbd initTrace.dbd PVAServerRegister.dbd qsrv.dbd

perl -CSD /usr/lib/epics/bin/linux-x86_64/registerRecordDeviceDriver.pl   -I. -I.. -I../O.Common -I../../../dbd -I/nsls2/users/yhu/modules/elauncherSupport/dbd -I/usr/lib/epics/dbd    -o test6_registerRecordDeviceDriver.cpp ../O.Common/test6.dbd test6_registerRecordDeviceDriver /nsls2/users/yhu/test6

/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE         -DUSE_TYPED_RSET   -D_X86_64_  -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic      -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include    -I/usr/lib/epics/include/compiler/gcc -I/usr/lib/epics/include/os/Linux -I/usr/lib/epics/include        -MM -MF test6_registerRecordDeviceDriver.d  test6_registerRecordDeviceDriver.cpp

perl -CSD /usr/lib/epics/bin/linux-x86_64/genVersionHeader.pl   -t ../../.. -N test6VERSION -V "" ../O.Common/test6Version.h

Keeping VCS header ../O.Common/test6Version.h

    test6VERSION = "2cf4d364586c5e06a964-dirty"

Installing dbd file ../../../dbd/xxxSupport.dbd

mkdir ../../../dbd

Installing created dbd file ../../../dbd/test6.dbd
**********************************************************

So it seems there is a naming restriction in configure/RELEASE. Is this a bug or a feature? I am using Base-R7.0.5 if the version matters.

Cheers,
Yong


Replies:
Re: Naming restriction in configure/RELEASE Hu, Yong via Tech-talk

Navigate by Date:
Prev: Re: Issue with Stream Device. Timeout only on Reconnect Zimoch Dirk via Tech-talk
Next: Re: Naming restriction in configure/RELEASE Hu, Yong 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: Issue with Stream Device. Timeout only on Reconnect Zimoch Dirk via Tech-talk
Next: Re: Naming restriction in configure/RELEASE Hu, Yong 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