Closed LeeYangLBLBCS closed 2 years ago
You need to move this line:
$(PROD_NAME)_DBD += stdSupport.dbd
after this line:
include $(ADCORE)/ADApp/commonDriverMakefile
That is because commonDriverMakefile is what includes base.dbd, etc., and stdSupport.dbd needs to be included after base.dbd.
I am curious what you want to use from the std module?
thanks for the help. I wanted to use: doAfterIocInit(....) call in the st.cmd script. which requires std module. I havn't had trouble with base-7.0.4 including stdSupport.dbd this way, until I switched to base-7.0.6.1 recently.
I havn't had trouble with base-7.0.4 including stdSupport.dbd this way, until I switched to base-7.0.6.1 recently.
I find that hard to believe. Are you sure you were doing that with areaDetector, which includes commonDriverMakefile? Those rules for the required order of dbd files have not changed for a long time.
I'll double check with base-7.0.4 build again.
On Fri, Apr 1, 2022 at 10:43 AM Mark Rivers @.***> wrote:
I havn't had trouble with base-7.0.4 including stdSupport.dbd this way, until I switched to base-7.0.6.1 recently.
I find that hard to believe. Are you sure you were doing that with areaDetector, which includes commonDriverMakefile? Those rules for the required order of dbd files have not changed for a long time.
— Reply to this email directly, view it on GitHub https://github.com/epics-modules/std/issues/18#issuecomment-1086174669, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSYGNAR7V6AOMZEZMVDSKTVC4YUNANCNFSM5SJI4ARQ . You are receiving this because you authored the thread.Message ID: @.***>
-- Lee Yang Lawrence Berkeley National Lab 1 Cyclotron Road, M/S 46R0161 Berkeley, California 97320 office:(510)486-7320 fax:(510) 486-4633
The only change I made is the lines related to stdSupport (in the wrong place).
I also attached the entire build output log file.
=====================iocs/simDetectorIOC/simDetectorApp/src/Makefile==============
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
# ADD MACRO DEFINITIONS AFTER THIS LINE
# The following gets rid of the -fno-implicit-templates flag on vxWorks,
# so we get automatic template instantiation.
# This is what we want for miscellaneous/asynPortDriver.cpp
ifeq (vxWorks,$(findstring vxWorks, $(T_A)))
CODE_CXXFLAGS=
endif
PROD_NAME = simDetectorApp
PROD_IOC = $(PROD_NAME)
# <name>.dbd will be created from <name>Include.dbd
DBD += $(PROD_NAME).dbd
$(PROD_NAME)_DBD += simDetectorSupport.dbd
$(PROD_NAME)_DBD += stdSupport.dbd
# <name>_registerRecordDeviceDriver.cpp will be created from <name>.dbd
PROD_SRCS_DEFAULT += $(PROD_NAME)_registerRecordDeviceDriver.cpp $(PROD_NAME)Main.cpp
PROD_SRCS_vxWorks += $(PROD_NAME)_registerRecordDeviceDriver.cpp
PROD_LIBS += simDetector
PROD_LIBS += std
include $(ADCORE)/ADApp/commonDriverMakefile
#=============================
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
[compile_output.txt](https://github.com/epics-modules/std/files/8400466/compile_output.txt)
Your build with 7.0.4 actually had errors on lines 413,414,417,418,434, and 435, but they were not fatal:
Device using unknown record type 'stringin', declaration created
Device using unknown record type 'ai', declaration created
It looks like base 7.0.6 has made those fatal?
Yes I also noticed those, but ignored them since IOC runs starts up normal.
The error from 7.0.6.1 looks like a different kind.
On Fri, Apr 1, 2022, 1:13 PM Mark Rivers @.***> wrote:
Your build with 7.0.4 actually had errors on lines 413,414,417,418,434, and 435, but they were not fatal:
Device using unknown record type 'stringin', declaration created Device using unknown record type 'ai', declaration created
It looks like base 7.0.6 has made those fatal?
— Reply to this email directly, view it on GitHub https://github.com/epics-modules/std/issues/18#issuecomment-1086285657, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSYGNCNZJMXUV65VXWN76TVC5KHDANCNFSM5SJI4ARQ . You are receiving this because you authored the thread.Message ID: @.***>
I think 7.0.6.1 is reporting the same error, that you are using the stringin and ai records before they are defined. It is just being treated as a fatal error in 7.0.6.1, while it was a warning in 7.0.4.
You really do need to include dbd files in the correct order, starting with base.dbd.
thanks.
I'd like to add std module to ADSimDectector, but got the following error. base-7.0.6.1 ADSimDetector 2-0 std-R3-6-3 ================modified iocs/simDetectorIOC/simDetectorApp/src/Makefile=============== TOP=../.. include $(TOP)/configure/CONFIG
----------------------------------------