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

Subject: Re: RE: No PV record found when build ASYN application on Windows
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "shenzb at ihep.ac.cn" <shenzb at ihep.ac.cn>
Cc: 'tech-talk' <tech-talk at aps.anl.gov>
Date: Thu, 18 Jun 2020 14:55:01 +0000
Please try removing the first line of st.cmd, and then run the same command again.


Mark



________________________________
From: shenzb at ihep.ac.cn <shenzb at ihep.ac.cn>
Sent: Wednesday, June 17, 2020 8:52 PM
To: Mark Rivers
Cc: 'tech-talk'
Subject: Re: RE: No PV record found when build ASYN application on Windows

Here is the st.cmd.

#!../../bin/windows-x64-mingw/exampleAsyn

#- You may have to change exampleAsyn to something else
#- everywhere it appears in this file

< envPaths

cd "${TOP}"

## Register all support components
dbLoadDatabase "dbd/exampleAsyn.dbd"
exampleAsyn_registerRecordDeviceDriver pdbbase

## Configure devices
drvAsynIPPortConfigure("L0","192.168.188.32:4001",0,0,0)
## Load record instances
dbLoadRecords("${ASYN}/db/asynRecord.db","P=guest:,R=asyn,PORT=L0,ADDR=24,IMAX=100,OMAX=100")

## Load record instances
dbLoadTemplate "db/user.substitutions"
dbLoadRecords "db/exampleAsynVersion.db", "user=ihep"
dbLoadRecords "db/dbSubExample.db", "user=ihep"

#- Set this to see messages from mySub
#var mySubDebug 1

#- Run this to trace the stages of iocInit
#traceIocInit

cd "${TOP}/iocBoot/${IOC}"
iocInit

## Start any sequence programs
#seq sncExample, "user=ihep"

The asyn/exampleAsyn directory was generated by makeBaseApp.pl -t example. I only added the drvAsynIPPortConfigure and dbLoadRecords lines.

Actually I tried to run an ioc created by example template, with no editing. The same thing happened.
$ ../../bin/windows-x64-mingw/example.exe st.cmd
Invalid directory path, ignored
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file dbd/example.dbd
registerRecordDeviceDriver failed aSub
registerRecordDeviceDriver failed aai
registerRecordDeviceDriver failed aao
registerRecordDeviceDriver failed ai
registerRecordDeviceDriver failed ao
registerRecordDeviceDriver failed bi
registerRecordDeviceDriver failed bo
registerRecordDeviceDriver failed calc
registerRecordDeviceDriver failed calcout
registerRecordDeviceDriver failed compress
registerRecordDeviceDriver failed dfanout
registerRecordDeviceDriver failed event
registerRecordDeviceDriver failed fanout
registerRecordDeviceDriver failed histogram
registerRecordDeviceDriver failed int64in
registerRecordDeviceDriver failed int64out
registerRecordDeviceDriver failed longin
registerRecordDeviceDriver failed longout
registerRecordDeviceDriver failed lsi
registerRecordDeviceDriver failed lso
registerRecordDeviceDriver failed mbbi
registerRecordDeviceDriver failed mbbiDirect
registerRecordDeviceDriver failed mbbo
registerRecordDeviceDriver failed mbboDirect
registerRecordDeviceDriver failed permissive
registerRecordDeviceDriver failed printf
registerRecordDeviceDriver failed sel
registerRecordDeviceDriver failed seq
registerRecordDeviceDriver failed state
registerRecordDeviceDriver failed stringin
registerRecordDeviceDriver failed stringout
registerRecordDeviceDriver failed sub
registerRecordDeviceDriver failed subArray
registerRecordDeviceDriver failed waveform
registerRecordDeviceDriver failed xxx
registryJLinkAdd failed calc
registryJLinkAdd failed const
registryJLinkAdd failed debug
registryJLinkAdd failed state
registryJLinkAdd failed trace
registryJLinkAdd failed pva
dbLoadTemplate: error opening sub file db/user.substitutions
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/exampleVersion.db
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/dbSubExample.db
Invalid directory path, ignored
Starting iocInit
checkDatabase: menuConvert not defined.
iocBuild: Aborting, bad database definition (DBD)!
#!../../bin/windows-x64-mingw/example
< envPaths
epicsEnvSet("IOC","iocexample")
epicsEnvSet("TOP","/home/ihep/example")
epicsEnvSet("EPICS_BASE","/home/ihep/example/../base-7.0.3.1")
cd "/home/ihep/example"
## Register all support components
dbLoadDatabase "dbd/example.dbd"
example_registerRecordDeviceDriver pdbbase
## Load record instances
dbLoadTemplate "db/user.substitutions"
dbLoadRecords "db/exampleVersion.db", "user=ihep"
dbLoadRecords "db/dbSubExample.db", "user=ihep"
#var mySubDebug 1
#traceIocInit
cd "/home/ihep/example/iocBoot/iocexample"
iocInit
## Start any sequence programs
#seq sncExample, "user=ihep"
epics> dbl
No record type

And here is the content of st.cmd.
#!../../bin/windows-x64-mingw/example

#- You may have to change example to something else
#- everywhere it appears in this file

< envPaths

cd "${TOP}"

## Register all support components
dbLoadDatabase "dbd/example.dbd"
example_registerRecordDeviceDriver pdbbase

## Load record instances
dbLoadTemplate "db/user.substitutions"
dbLoadRecords "db/exampleVersion.db", "user=ihep"
dbLoadRecords "db/dbSubExample.db", "user=ihep"

#- Set this to see messages from mySub
#var mySubDebug 1

#- Run this to trace the stages of iocInit
#traceIocInit

cd "${TOP}/iocBoot/${IOC}"
iocInit

## Start any sequence programs
#seq sncExample, "user=ihep"


Zhibang Shen

From: Mark Rivers<mailto:rivers at cars.uchicago.edu>
Date: 2020-06-17 23:33
To: 'shenzb at ihep.ac.cn'<mailto:shenzb at ihep.ac.cn>
CC: 'tech-talk'<mailto:tech-talk at aps.anl.gov>
Subject: RE: Re: No PV record found when build ASYN application on Windows
I forgot to include tech-talk in my original reply, but I am including it in this follow-up.

How did you create and build the asyn/exampleAsyn directory?

This output confuses me.  It is generating an error message without echoing the command from st.cmd?

$ ../../bin/windows-x64-mingw/exampleAsyn.exe st.cmd
Invalid directory path, ignored
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file dbd/exampleAsyn.dbd

Can you please post your st.cmd file?  It looks like it is trying to open dbd/exampleAsyn.dbd, but your default directory is ~/support/asyn/exampleAsyn/iocBoot/iocexampleAsyn, so that path is not valid.  The dbd/ directory is 2 levels above your current default directory.

What is also strange is that in your output it looks like it is starting the IOC twice.  First at the beginning where you get the above message, and then again later where you get this message:

Starting iocInit
checkDatabase: menuConvert not defined.
iocBuild: Aborting, bad database definition (DBD)!
#!../../bin/windows-x64-mingw/exampleAsyn
< envPaths
epicsEnvSet("IOC","iocexampleAsyn")
epicsEnvSet("TOP","/home/ihep/support/asyn/exampleAsyn")
epicsEnvSet("ASYN","/home/ihep/support/asyn/4-39")
epicsEnvSet("EPICS_BASE","/home/ihep/base-7.0.3.1")

Perhaps the problem is in your st.cmd file, and will become clear if you post that.

Mark




From: shenzb at ihep.ac.cn <shenzb at ihep.ac.cn>
Sent: Wednesday, June 17, 2020 10:06 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Subject: Re: Re: No PV record found when build ASYN application on Windows

Hello Mr. Rivers,

Thank you for your reply.

The command is executed in MingGW, so the file path is using Linux syntax. The output information I sent actually is the complete output.
ihep@ihep-HP MINGW64 ~/support/asyn/exampleAsyn/iocBoot/iocexampleAsyn
$ ../../bin/windows-x64-mingw/exampleAsyn.exe st.cmd
Invalid directory path, ignored
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file dbd/exampleAsyn.dbd
registerRecordDeviceDriver failed aSub
registerRecordDeviceDriver failed aai
registerRecordDeviceDriver failed aao
registerRecordDeviceDriver failed ai
registerRecordDeviceDriver failed ao
registerRecordDeviceDriver failed asyn
registerRecordDeviceDriver failed bi
registerRecordDeviceDriver failed bo
registerRecordDeviceDriver failed calc
registerRecordDeviceDriver failed calcout
registerRecordDeviceDriver failed compress
registerRecordDeviceDriver failed dfanout
registerRecordDeviceDriver failed event
registerRecordDeviceDriver failed fanout
registerRecordDeviceDriver failed histogram
registerRecordDeviceDriver failed int64in
registerRecordDeviceDriver failed int64out
registerRecordDeviceDriver failed longin
registerRecordDeviceDriver failed longout
registerRecordDeviceDriver failed lsi
registerRecordDeviceDriver failed lso
registerRecordDeviceDriver failed mbbi
registerRecordDeviceDriver failed mbbiDirect
registerRecordDeviceDriver failed mbbo
registerRecordDeviceDriver failed mbboDirect
registerRecordDeviceDriver failed permissive
registerRecordDeviceDriver failed printf
registerRecordDeviceDriver failed sel
registerRecordDeviceDriver failed seq
registerRecordDeviceDriver failed state
registerRecordDeviceDriver failed stringin
registerRecordDeviceDriver failed stringout
registerRecordDeviceDriver failed sub
registerRecordDeviceDriver failed subArray
registerRecordDeviceDriver failed waveform
registerRecordDeviceDriver failed xxx
registryJLinkAdd failed calc
registryJLinkAdd failed const
registryJLinkAdd failed debug
registryJLinkAdd failed state
registryJLinkAdd failed trace
registryJLinkAdd failed pva
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file /home/ihep/support/asyn/4-39/db/asynRecord.db
dbLoadTemplate: error opening sub file db/user.substitutions
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/exampleAsynVersion.db
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/dbSubExample.db
Invalid directory path, ignored
Starting iocInit
checkDatabase: menuConvert not defined.
iocBuild: Aborting, bad database definition (DBD)!
#!../../bin/windows-x64-mingw/exampleAsyn
< envPaths
epicsEnvSet("IOC","iocexampleAsyn")
epicsEnvSet("TOP","/home/ihep/support/asyn/exampleAsyn")
epicsEnvSet("ASYN","/home/ihep/support/asyn/4-39")
epicsEnvSet("EPICS_BASE","/home/ihep/base-7.0.3.1")
cd "/home/ihep/support/asyn/exampleAsyn"
## Register all support components
dbLoadDatabase "dbd/exampleAsyn.dbd"
exampleAsyn_registerRecordDeviceDriver pdbbase
## Configure devices
drvAsynIPPortConfigure("L0","192.168.188.32:4001",0,0,0)
## Load record instances
dbLoadRecords("/home/ihep/support/asyn/4-39/db/asynRecord.db","P=guest:,R=asyn,PORT=L0,ADDR=24,IMAX=100,OMAX=100")
## Load record instances
dbLoadTemplate "db/user.substitutions"
dbLoadRecords "db/exampleAsynVersion.db", "user=ihep"
dbLoadRecords "db/dbSubExample.db", "user=ihep"
#var mySubDebug 1
#traceIocInit
cd "/home/ihep/support/asyn/exampleAsyn/iocBoot/iocexampleAsyn"
iocInit
## Start any sequence programs
#seq sncExample, "user=ihep"
epics> dbl
No record type
epics>


Here is the contents of envPaths:
epicsEnvSet("IOC","iocexampleAsyn")
epicsEnvSet("TOP","/home/ihep/support/asyn/exampleAsyn")
epicsEnvSet("ASYN","/home/ihep/support/asyn/4-39")
epicsEnvSet("EPICS_BASE","/home/ihep/base-7.0.3.1")

It seems that the command dbLoadRecords causes the exception
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/dbSubExample.db
and command exampleAsyn_registerRecordDeviceDriver pdbbase causes the exception
registerRecordDeviceDriver failed aSub
registerRecordDeviceDriver failed aai
registerRecordDeviceDriver failed aao
...


Thank you very much for your help!


Zhibang Shen

From: Mark Rivers<mailto:rivers at cars.uchicago.edu>
Date: 2020-06-17 19:55
To: shenzb at ihep.ac.cn<mailto:shenzb at ihep.ac.cn>
Subject: Re: No PV record found when build ASYN application on Windows
> Should I run the bat file in Windows command prompt or MingGW?


You should run it in whatever shell you will then run the IOC.


> $ ../../bin/windows-x64-mingw/exampleAsyn.exe st.cmd

> Invalid directory path, ignored
> filename="../dbStatic/dbLexRoutines.c" line number=264

Please send the complete output when you run that command.

> No such file or directory dbRead opening file /home/ihep/support/asyn/4-39/db/asynRecord.db

You are running on Windows, but that file path is using Linux syntax, not Windows.  What shell are you running when you execute the command to run the IOC?  Can you send the envPaths file that was generated in the /iocBoot/iocexampleAsyn directory.

Mark


________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of shenzb--- via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Sent: Wednesday, June 17, 2020 5:22 AM
To: tech-talk
Subject: No PV record found when build ASYN application on Windows

Hello everyone,

I met two problems when I tried to include asynRecord.db in a windows-x64-mingw EPICS example application. The EPICS base is 7.0.3.1 and asyn is 4-39.

I have specified the EPICS_BASE and ASYN paths in the configure/RELEASE file. And I have added exampleAsyn_LIBS += asyn, exampleAsyn_DBD+=asyn.dbd and exampleAsyn_DBD+=drvAsynIPPort.dbd into src/Makefile. No error was printed while 'make clean install'. However,

1) st.cmd could not work. It said:
$ ../../bin/windows-x64-mingw/exampleAsyn.exe st.cmd
C:/msys64/home/ihep/support/asyn/exampleAsyn/bin/windows-x64-mingw/exampleAsyn.exe: error while loading shared libraries: exampleAsynSupport.dll: cannot open shared object file: No such file or directory
I followed the solution mentioned here, https://epics.anl.gov/tech-talk/2017/msg00009.php, adding the path of asyn.dll to variable PATH. IOC could finally run. I saw Mr. Rivers gave another better way to do that(https://epics.anl.gov/tech-talk/2017/msg00013.php). Should I run the bat file in Windows command prompt or MingGW?

2) Though the IOC was started, there was no pv record.
$ ../../bin/windows-x64-mingw/exampleAsyn.exe st.cmd
Invalid directory path, ignored
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file dbd/exampleAsyn.dbd
registerRecordDeviceDriver failed aSub
registerRecordDeviceDriver failed aai
registerRecordDeviceDriver failed aao
registerRecordDeviceDriver failed ai
registerRecordDeviceDriver failed ao
registerRecordDeviceDriver failed asyn
registerRecordDeviceDriver failed bi
registerRecordDeviceDriver failed bo
registerRecordDeviceDriver failed calc
registerRecordDeviceDriver failed calcout
registerRecordDeviceDriver failed compress
registerRecordDeviceDriver failed dfanout
registerRecordDeviceDriver failed event
registerRecordDeviceDriver failed fanout
registerRecordDeviceDriver failed histogram
registerRecordDeviceDriver failed int64in
registerRecordDeviceDriver failed int64out
registerRecordDeviceDriver failed longin
registerRecordDeviceDriver failed longout
registerRecordDeviceDriver failed lsi
registerRecordDeviceDriver failed lso
registerRecordDeviceDriver failed mbbi
registerRecordDeviceDriver failed mbbiDirect
registerRecordDeviceDriver failed mbbo
registerRecordDeviceDriver failed mbboDirect
registerRecordDeviceDriver failed permissive
registerRecordDeviceDriver failed printf
registerRecordDeviceDriver failed sel
registerRecordDeviceDriver failed seq
registerRecordDeviceDriver failed state
registerRecordDeviceDriver failed stringin
registerRecordDeviceDriver failed stringout
registerRecordDeviceDriver failed sub
registerRecordDeviceDriver failed subArray
registerRecordDeviceDriver failed waveform
registerRecordDeviceDriver failed xxx
registryJLinkAdd failed calc
registryJLinkAdd failed const
registryJLinkAdd failed debug
registryJLinkAdd failed state
registryJLinkAdd failed trace
registryJLinkAdd failed pva
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file /home/ihep/support/asyn/4-39/db/asynRecord.db
dbLoadTemplate: error opening sub file db/user.substitutions
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/exampleAsynVersion.db
filename="../dbStatic/dbLexRoutines.c" line number=264
No such file or directory dbRead opening file db/dbSubExample.db
Invalid directory path, ignored
Starting iocInit
checkDatabase: menuConvert not defined.
iocBuild: Aborting, bad database definition (DBD)!
#!../../bin/windows-x64-mingw/exampleAsyn
< envPaths
epicsEnvSet("IOC","iocexampleAsyn")
epicsEnvSet("TOP","/home/ihep/support/asyn/exampleAsyn")
epicsEnvSet("ASYN","/home/ihep/support/asyn/4-39")
epicsEnvSet("EPICS_BASE","/home/ihep/base-7.0.3.1")
cd "/home/ihep/support/asyn/exampleAsyn"
## Register all support components
dbLoadDatabase "dbd/exampleAsyn.dbd"
exampleAsyn_registerRecordDeviceDriver pdbbase
## Configure devices
drvAsynIPPortConfigure("L0","192.168.188.32:4001",0,0,0)
## Load record instances
dbLoadRecords("/home/ihep/support/asyn/4-39/db/asynRecord.db","P=guest:,R=asyn,PORT=L0,ADDR=24,IMAX=100,OMAX=100")
## Load record instances
dbLoadTemplate "db/user.substitutions"
dbLoadRecords "db/exampleAsynVersion.db", "user=ihep"
dbLoadRecords "db/dbSubExample.db", "user=ihep"
#var mySubDebug 1
#traceIocInit
cd "/home/ihep/support/asyn/exampleAsyn/iocBoot/iocexampleAsyn"
iocInit
## Start any sequence programs
#seq sncExample, "user=ihep"
epics> dbl
No record type
epics>

I could find exampleAsyn.dbd in dbd/ directory.

I built a same example application on Linux(base 3.15.6, asyn 4-33), and it succeeded. Could someone please help me with this? Thanks a lot.

________________________________
Best regards,
--
Zhibang Shen

Replies:
RE: RE: No PV record found when build ASYN application on Windows Freddie Akeroyd - UKRI STFC via Tech-talk
References:
No PV record found when build ASYN application on Windows shenzb--- via Tech-talk
RE: Re: No PV record found when build ASYN application on Windows Mark Rivers via Tech-talk
Re: RE: No PV record found when build ASYN application on Windows shenzb--- via Tech-talk

Navigate by Date:
Prev: Stepper motor with absolute encoder Mexner, Wolfgang (IBPT) via Tech-talk
Next: Re: How to run IOC in docker containers properly Mark Rivers 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: RE: No PV record found when build ASYN application on Windows shenzb--- via Tech-talk
Next: RE: RE: No PV record found when build ASYN application on Windows Freddie Akeroyd - UKRI STFC 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  <20202021  2022  2023  2024 
ANJ, 18 Jun 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·