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: Wed, 17 Jun 2020 15:33:48 +0000

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

Date: 2020-06-17 19:55

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> on behalf of shenzb--- via Tech-talk <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 shenzb--- via Tech-talk
References:
No PV record found when build ASYN application on Windows shenzb--- via Tech-talk

Navigate by Date:
Prev: Re: How to run IOC in docker containers properly J. Lewis Muir via Tech-talk
Next: Re: How to run IOC in docker containers properly Johnson, Andrew N. 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: 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 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, 17 Jun 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·