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
<2020>
2021
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
<2020>
2021
2022
2023
2024
|