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

Subject: RE: Compile Warning:"Device using undefined record type 'stringin', place-holder created
From: Mark Rivers <rivers@cars.uchicago.edu>
To: 'Ricardo Herrero' <ricardo.herrero@i2a2.upm.es>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Sat, 5 Aug 2017 17:17:57 +0000
Hi Ricardo,

I suspect you may have problems with the order in which you added files to your application dbd file.  It looks like your driver is based on areaDetector.  Does your IOC Makefile look like the following one from simDetector:

***************************************************
corvette:simDetectorIOC/simDetectorApp/src>more 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

# <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

include $(ADCORE)/ADApp/commonDriverMakefile

#=============================

include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE
***************************************************

Note that it adds simDetectorSupport.dbd and then " include $(ADCORE)/ADApp/commonDriverMakefile".  commonDriverMakefile adds the other dbd files required to build the application.

Mark



-----Original Message-----
From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Ricardo Herrero
Sent: Saturday, August 05, 2017 11:25 AM
To: tech-talk@aps.anl.gov
Subject: Compile Warning:"Device using undefined record type 'stringin', place-holder created

Hello,

  I´m cross compiling from x86_64 linux to an ARM processor. I thought it 
was ok, as the executable was properly built. However I got this error 
when I was executing my IOC in the ARM processor:

dbLoadDatabase 
"/opt/epics/support/areaDetector/ADHA_1D/iocs/HA1DIOC/dbd/hpsfpga1dtest.dbd"
Declaration of recordtype(mbboDirect) preceeded full definition.
Error at or before "}" in file 
"/opt/epics/support/areaDetector/ADHA_1D/iocs/HA1DIOC/dbd/hpsfpga1dtest.dbd" 
line 119
hpsfpga1dtest_registerRecordDeviceDriver pdbbase
Warning: IOC is booting with TOP = 
"/opt/epics/support/areaDetector/ADHA_1D/iocs/HA1DIOC"
           but was built with TOP = 
"/home/rherrero/Documents/build/areadetector-bf48e03/ADHA_1D/iocs/HA1DIOC"
registerRecordDeviceDriver failed asyn
registerRecordDeviceDriver failed busy

Then I looked at strange messages from compilation and I have found 
this:

Device using undefined record type 'stringin', place-holder created
Device using undefined record type 'stringout', place-holder created
Device using undefined record type 'waveform', place-holder created
Device using undefined record type 'ai', place-holder created
Device using undefined record type 'ao', place-holder created
Device using undefined record type 'bi', place-holder created
Device using undefined record type 'bo', place-holder created
Device using undefined record type 'mbbi', place-holder created
Device using undefined record type 'mbbo', place-holder created
Device using undefined record type 'longin', place-holder created
Device using undefined record type 'longout', place-holder created
Device using undefined record type 'mbbiDirect', place-holder created
Device using undefined record type 'mbboDirect', place-holder created

It´s not very clear to me what´s happening here. I thought I have set up 
properly asyn path and busy path. What do you think I should check now? 
Maybe Makefile is not correct?
To include asyn in my makefile I used: ha1d_LIBS += asyn

Thanks for your help!!
Ricardo


-- 
Doctorando i2a2
Jefe de Area de Ingeniería de Sistemas - CEH- CEDEX

References:
Compile Warning:"Device using undefined record type 'stringin', place-holder created Ricardo Herrero

Navigate by Date:
Prev: Compile Warning:"Device using undefined record type 'stringin', place-holder created Ricardo Herrero
Next: CA monitoring weirdness for status/severity Hogben, Colin H
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
Navigate by Thread:
Prev: Compile Warning:"Device using undefined record type 'stringin', place-holder created Ricardo Herrero
Next: CA monitoring weirdness for status/severity Hogben, Colin H
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
ANJ, 07 Aug 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·