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: Freddie Akeroyd - UKRI STFC via Tech-talk <tech-talk at aps.anl.gov>
To: Mark Rivers <rivers at cars.uchicago.edu>, "shenzb at ihep.ac.cn" <shenzb at ihep.ac.cn>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 18 Jun 2020 19:00:08 +0000
Hi,

I wonder if you have a filepath issue. If EPICS has been built in the MinGW-w64 shell rather than MSYS shell it will likely not know about the special MSYS absolute paths like "/home"

If you edit   envPaths   and add a  "C:/msys64"  prefix to any absolute paths defined there so e.g. 

    epicsEnvSet("TOP","/home/ihep/example")

becomes 

    epicsEnvSet("TOP","C:/msys64/home/ihep/example")

Does that help?

Regards,

Freddie

> -----Original Message-----
> From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Mark Rivers
> via Tech-talk
> Sent: 18 June 2020 15:55
> To: shenzb at ihep.ac.cn
> Cc: 'tech-talk' <tech-talk at aps.anl.gov>
> Subject: Re: RE: No PV record found when build ASYN application on Windows
> 
> 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,ADD
> R=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

This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and should notify the sender immediately and delete this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses. Opinions, conclusions or other information in this message and attachments that are not related directly to UKRI business are solely those of the author and do not represent the views of UKRI.

Replies:
Re: RE: No PV record found when build ASYN application on Windows shenzb--- 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
Re: RE: No PV record found when build ASYN application on Windows Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: How to run IOC in docker containers properly Johnson, Andrew N. 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 Mark Rivers via Tech-talk
Next: Re: RE: No PV record found when build ASYN application on Windows shenzb--- 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 ·