On Thu, Aug 6, 2015 at 11:30 PM, Mark Rivers <[email protected]> wrote:
I think I see your problem. You named your SNL program test1.st. You then have this line in your Makefile:
test1_DBD += test1.dbd
So you have 2 dbd files with the same name, but different functions. One should be your application dbd file, and the other the dbd file that just contains only the registrar definition for your SNL program.
I think you should rename your test1.st and test1.dbd to be test1SNL.st and test1SNL.dbd. Alternatively you could rename your application to be test1App or something.
Mark
________________________________
From: Tasaddaq Khan [[email protected]]
Sent: Thursday, August 06, 2015 11:57 AM
To: Mark Rivers; [email protected]
Subject: Re: Sequencer problem :iocBuild: Aborting, bad database definition (DBD)!
On Thu, Aug 6, 2015 at 9:11 PM, Mark Rivers <[email protected]<mailto:[email protected]>> wrote:
Sorry, I did not scroll down far enough to see your Makefile. I don't see an obvious problem with the Makefile.
You can do the following:
- Send the complete output when you do "make clean" and then "make"
- Send the output of
Subject: Sequencer problem :iocBuild: Aborting, bad database definition (DBD)!
Hi
I have successfully build test1 application using Sequencer but when I run the ./st.cmd command, I face following error:
#!../../bin/linux-x86/test1
## You may have to change test1 to something else
## everywhere it appears in this file
< envPaths
epicsEnvSet("ARCH","linux-x86")
epicsEnvSet("IOC","ioctest1")
epicsEnvSet("TOP","/home/omar/epics/test1")
epicsEnvSet("SNCSEQ","/home/omar/epics/seq-2.2.2")
epicsEnvSet("EPICS_BASE","/home/omar/epics/base")
cd /home/omar/epics/test1
## Register all support components
dbLoadDatabase "dbd/test1.dbd"
test1_registerRecordDeviceDriver pdbbase
## Load record instances
#dbLoadTemplate "db/userHost.substitutions"
#dbLoadRecords "db/dbSubExample.db", "user=omarHost"
dbLoadRecords "db/test1.db", "user=omarHost"
Record "vout" is of unknown type "calc"
Error at or before ")" in file "db/test1.db" line 1
Error: syntax error
at or before "" in file "db/test1.db" line 1
## Set this to see messages from mySub
#var mySubDebug 1
## Run this to trace the stages of iocInit
#traceIocInit
cd /home/omar/epics/test1/iocBoot/ioctest1
iocInit
Starting iocInit
checkDatabase: menuConvert not defined.
iocBuild: Aborting, bad database definition (DBD)!
## Start any sequence programs
#seq sncExample, "user=omarHost"
seq test1, "user=omarHost"
sevr=info Sequencer release 2.2.2, compiled Mon Jul 20 06:19:58 2015
sevr=info Spawning sequencer program "test1", thread 0x9f46e78: "test1"
epics> sevr=minor test1[0](after 2 sec): assigned=2, connected=0, monitored=1, got monitor=0
......
My Makefile is
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
# ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================
# Build the IOC support library
LIBRARY_IOC += test1Support
# xxxRecord.h will be created from xxxRecord.dbd
DBDINC += xxxRecord
# Install devXxxSoft.dbd into <top>/dbd
DBD += xxxSupport.dbd
# Compile and add the code to the support library
test1Support_SRCS += xxxRecord.c
test1Support_SRCS += devXxxSoft.c
# Link locally-provided code into the support library,
# rather than directly into the IOC application.
test1Support_SRCS += dbSubExample.c
test1Support_SRCS += test1Hello.c
test1Support_SRCS += initTrace.c
test1Support_LIBS += $(EPICS_BASE_IOC_LIBS)
#=============================
# Build the IOC application
PROD_IOC = test1
# test1.dbd will be created and installed
DBD += test1.dbd
# test1.dbd will be made up from these files:
test1_DBD += base.dbd
test1_DBD += xxxSupport.dbd
test1_DBD += dbSubExample.dbd
test1_DBD += test1Hello.dbd
test1_DBD += initTrace.dbd
# test1_registerRecordDeviceDriver.cpp derives from test1.dbd
test1_SRCS += test1_registerRecordDeviceDriver.cpp
# Build the main IOC entry point on workstation OSs.
test1_SRCS_DEFAULT += test1Main.cpp
test1_SRCS_vxWorks += -nil-
# Add support from base/src/vxWorks if needed
#test1_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
# Link in the code from the support library
test1_LIBS += test1Support
# NOTE: To build SNL programs, SNCSEQ must be defined
# in the <top>/configure/RELEASE file