asynCommonSyncIO.h asynInterposeEos.h
asynDriver.h asynInterposeFlush.h
asynDrvUser.h asynOctet.h
asynEnum.h asynOctetSyncIO.h
asynEnumSyncIO.h asynOption.h
asynEpicsUtils.h asynOptionSyncIO.h
asynFloat32Array.h asynParamType.h
asynFloat32ArraySyncIO.h asynPortClient.h
asynFloat64Array.h asynPortDriver.h
asynFloat64ArraySyncIO.h asynRecord.h
asynFloat64.h asynShellCommands.h
asynFloat64SyncIO.h asynStandardInterfaces.h
asynGenericPointer.h asynUInt32Digital.h
asynGenericPointerSyncIO.h asynUInt32DigitalSyncIO.h
asynGpibDriver.h devCommonGpib.h
asynInt16Array.h devGpib.h
asynInt16ArraySyncIO.h devSupportGpib.h
asynInt32Array.h drvAsynIPPort.h
asynInt32ArraySyncIO.h drvAsynIPServerPort.h
asynInt32.h drvAsynSerialPort.h
asynInt32SyncIO.h epicsInterruptibleSyscall.h
asynInt64Array.h paramErrors.h
asynInt64ArraySyncIO.h ParamListInvalidIndex.h
asynInt64.h ParamListParamNotFound.h
asynInt64SyncIO.h ParamValNotDefined.h
asynInt8Array.h ParamValStringSizeRequestTooBig.h
asynInt8ArraySyncIO.h ParamValValueNotChanged.h
asynInterposeCom.h ParamValWrongType.h
Ø
The following error occurred in the first method:
Ø
Definition of SUPPORT conflicts with ASYN support.
Ø
In this application a RELEASE file defines
Ø
SUPPORT = /home/lytt/epics/streamdevice/StreamDevice-master/..
You must not have typed my first method correctly. You will see that I commented out the line that defined SUPPORT, but clearly you have not done that.
Ø
The second method has the following error:
Ø
../AsynDriverInterface.cc:41:10: Fatal error: asynDriver.h: No such file or directory
You will see that the include files do not include the asyn4-38/include directory, as in your original post. I don’t see a typo in my second method, but
perhaps I am missing it. Or perhaps you have not actually built asyn successfully?
Please send the output of this command:
ls –l /home/lytt/epics/asyn4/asyn4-38/include
Ø
The third method has the following error:
Ø
Definition of SUPPORT conflicts with ASYN support.
Ø
In this application a RELEASE file defines
Ø
SUPPORT = /home/lytt/epics/streamdevice/StreamDevice-master/../..
Ø
but ASYN at /home/lytt/epics/streamdevice/StreamDevice-master/../../asyn4/asyn4-38 defines
Ø
SUPPORT = /corvette/home/epics/devel
That means you have left the incorrect definition of SUPPORT in asyn4-38/configure/RELEASE. corvette is my Linux server! You need to either fix the definition
of SUPPORT in that asyn file, or comment it out if it is not used.
Mark
From:
回忆回眸 <liu1516301092 at foxmail.com>
Sent: Friday, April 2, 2021 8:18 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Subject: 回复:
回复: CentOS8--An error occurred when installing StreamDevice
According to your statement, I did the test separately.
The following error occurred in the first method:
make[2]: Enter the directory "/home/lytt/epics/streamdevice/StreamDevice-master/configure/O.linux-x86_64"
perl -CSD /home/lytt/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease
Definition of SUPPORT conflicts with ASYN support.
In this application a RELEASE file defines
SUPPORT = /home/lytt/epics/streamdevice/StreamDevice-master/..
but ASYN at /home/lytt/epics/asyn4/asyn4-38 defines
SUPPORT = /corvette/home/epics/devel
make[2]: *** [/home/lytt/epics/base/configure/RULES_BUILD:188:checkRelease] Error 1
make[2]: leave the directory "/home/lytt/epics/streamdevice/StreamDevice-master/configure/O.linux-x86_64"
make[1]: *** [/home/lytt/epics/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
make[1]: leave the directory "/home/lytt/epics/streamdevice/StreamDevice-master/configure"
make: *** [/home/lytt/epics/base/configure/RULES_DIRS:85: configure.install] Error 2
The second method has the following error:
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -DUSE_TYPED_RSET -DSTREAM_INTERNAL -O3 -Wall -mtune=generic -m64 -fPIC -I. -I../O.Common
-I. -I.- I.. -I../../include/compiler/gcc -I../../include/os/Linux -I../../include -I/home/lytt/epics/base/include /compiler/gcc -I/home/lytt/epics/base/include/os/Linux -I/home/lytt/epics/base/include -MM -MF AsynDriverInterface.d ../AsynDriverInterface.cc
../AsynDriverInterface.cc:41:10: Fatal error: asynDriver.h: No such file or directory
Compilation is interrupted.
The third method has the following error:
make[2]: Enter the directory "/home/lytt/epics/streamdevice/StreamDevice-master/configure/O.linux-x86_64"
perl -CSD /home/lytt/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease
Definition of SUPPORT conflicts with ASYN support.
In this application a RELEASE file defines
SUPPORT = /home/lytt/epics/streamdevice/StreamDevice-master/../..
but ASYN at /home/lytt/epics/streamdevice/StreamDevice-master/../../asyn4/asyn4-38 defines
SUPPORT = /corvette/home/epics/devel
make[2]: *** [/home/lytt/epics/base/configure/RULES_BUILD:188:checkRelease] Error 1
make[2]: leave the directory "/home/lytt/epics/streamdevice/StreamDevice-master/configure/O.linux-x86_64"
make[1]: *** [/home/lytt/epics/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
make[1]: leave the directory "/home/lytt/epics/streamdevice/StreamDevice-master/configure"
make: *** [/home/lytt/epics/base/configure/RULES_DIRS:85: configure.install] Error 2
It seems that this problem is very difficult to solve. If you can provide a detailed installation tutorial on asyn, StreamDevice, I would be very grateful.
The installation manual given on the official website is very simple, and no standardized installation directory is given during installation. So it's easy to have problems during installation, and don't know where the error occurred. If you can provide a
catalog of specifications for installation, I would also appreciate it very much. Thank you!
------------------
原始邮件 ------------------
发送时间: 2021年4月2日(星期五)
晚上7:49
主题: Re:
回复: CentOS8--An error occurred when installing StreamDevice
> According to what you said, what should my definition of SUPPORT look like?
> Is it defined to the epics directory?
Here are 3 options for fixing your RELEASE file.
The first does not use SUPPORT at all.
#SUPPORT=$(TOP)/..
ASYN=/home/lytt/epics/asyn4/asyn4-38
#CALC=/home/lytt/epics/calc/calc_R3-4/calc-3-4
PCRE=/home/lytt/epics/streamdevice/StreamDevice-master/prce/prce2-10.36
The second defines support as an absolute path:
SUPPORT=/home/lytt/epics
ASYN=$(SUPPORT)/asyn4/asyn4-38
#CALC=$(SUPPORT)/calc/calc_R3-4/calc-3-4
PCRE=$(SUPPORT)/streamdevice/StreamDevice-master/prce/prce2-10.36
The third defines support as a relative path:
SUPPORT=$(TOP)/../..
ASYN=$(SUPPORT)/asyn4/asyn4-38
#CALC=$(SUPPORT)/calc/calc_R3-4/calc-3-4
PCRE=$(SUPPORT)/streamdevice/StreamDevice-master/prce/prce2-10.36
Your original RELEASE file defined support as a relative path, but it was incorrect because it needed one more "/.." because you have a non-standard directory structure under /home/lytt/epics. You also then had the paths relative to SUPPORT wrong, you did
not want /home/lytt/epics after $(SUPPORT).
Mark
________________________________
From: 回忆回眸 <liu1516301092 at foxmail.com>
Sent: Friday, April 2, 2021 1:19 AM
To: Mark Rivers
Subject: 回复: CentOS8--An error occurred when installing StreamDevice
Sorry to reply to your message now! According to what you said, what should my definition of SUPPORT look like? Is it defined to the epics directory? My ASYN is an absolute path, and that asyn4-38 is a non-standard directory structure. I did it again with CentOS7,
but there will still be such an error. Thank you!
------------------ 原始邮件 ------------------
发件人: "Mark Rivers" <rivers at cars.uchicago.edu>;
发送时间: 2021年4月2日(星期五)
中午12:12
收件人: "回忆回眸"<liu1516301092 at foxmail.com>;
主题: Re: CentOS8--An error occurred when installing StreamDevice
It looks to me like your definition of SUPPORT as $(TOP)/.. is incorrect. That would not point to a directory above home/epics. I suggest you replace the definition of ASYN with its absolute path.
You have a non-standard directory structure where there is an additional asyn4 directory above the asyn4-38 directory.
Mark
Sent from my iPhone
On Apr 1, 2021, at 10:22 PM, 回忆回眸 <liu1516301092 at foxmail.com>
wrote:
This is the entire content of my RELEASE. Take a look, is there something wrong with the configuration? The installation path of ASYN is the installation path of my asyn. Thank you very much!
#RELEASE Location of external products
# Run "gnumake clean uninstall install" in the application
# top directory each time this file is changed.
#
# NOTE: The build does not check dependencies on files
# external to this application. Thus you should run
# "gnumake clean uninstall install" in the top directory
# each time EPICS_BASE, SNCSEQ, or any other external
# module defined in the RELEASE file is rebuilt.
TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
# If you don't want to install into $(TOP) then
# define INSTALL_LOCATION_APP here
#INSTALL_LOCATION_APP=<fullpathname>
SUPPORT=$(TOP)/..
-include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)
ASYN=$(SUPPORT)/home/lytt/epics/asyn4/asyn4-38
#CALC=$(SUPPORT)/home/lytt/epics/calc/calc_R3-4/calc-3-4
PCRE=$(SUPPORT)/home/lytt/epics/streamdevice/StreamDevice-master/prce/prce2-10.36
# EPICS_BASE usually appears last so other apps can override stuff:
EPICS_BASE=/home/lytt/epics/base
# These lines allow developers to override these RELEASE settings
# without having to modify this file directly.
-include $(TOP)/../RELEASE.local
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
-include $(TOP)/configure/RELEASE.local
------------------ 原始邮件 ------------------
发件人: "Mark Rivers" <rivers at cars.uchicago.edu>;
发送时间: 2021年4月2日(星期五)
中午11:09
收件人: "回忆回眸"<liu1516301092 at foxmail.com>;
主题: Re: CentOS8--An error occurred when installing StreamDevice
Please show the contents of the stream/configure/RELEASE file.
There is no need to reinstall asyn.
Mark
Sent from my iPhone
On Apr 1, 2021, at 9:15 PM, 回忆回眸 <liu1516301092 at foxmail.com>
wrote:
Thanks for your reply! Excuse me, according to what you said, there is a problem with my RELEASE, how should I solve it? Do I want to reinstall the latest version of asyn? Or reconfigure RELEASE? Thank you!
------------------ 原始邮件 ------------------
发件人: "Mark Rivers" <rivers at cars.uchicago.edu>;
发送时间: 2021年4月2日(星期五)
凌晨0:54
收件人: "回忆回眸"<liu1516301092 at foxmail.com>;
抄送: "EPICS Tech-Talk"<tech-talk at aps.anl.gov>;
主题: RE: CentOS8--An error occurred when installing StreamDevice
I forgot to include tech-talk in my original reply.
> Among them “asyn” has been installed and the asyn installation path is configured in configure/RELEASE.
It really seems like there is a problem with your configure/RELEASE file. If asyn were defined there then it should be in the list of include paths. I have broken the output of your compile command so each -I starts on a new line to make it easier to read.
-I.
-I../O.Common
-I.
-I.
-I..
-I../../include/compiler/gcc
-I../../include/os/Linux
-I../../include
-I/home/lytt/epics/base/include /compiler/gcc
-I/home/lytt/epics/base/include/os/Linux
-I/home/lytt/epics/base/include
Note that it is not searching the asyn directory.
This is what I get when I compile on Centos8:
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -DUSE_TYPED_RSET -DSTREAM_INTERNAL -O3 -g -Wall -mtune=generic -m64 -fPIC -I. -I../O.Common
-I.
-I.
-I..
-I../../include/compiler/gcc
-I../../include/os/Linux
-I../../include
-I/corvette/home/epics/devel/asyn-4-41/include
-I/corvette/home/epics/devel/calc-3-7-3/include
-I/corvette/usr/local/epics-devel/base-7.0.5/include/compiler/gcc
-I/corvette/usr/local/epics-devel/base-7.0.5/include/os/Linux
-I/corvette/usr/local/epics-devel/base-7.0.5/include
-c ../AsynDriverInterface.cc
Note that it is searching in asyn-4-41.
Mark
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of
回忆回眸 via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Sent: Thursday, April 1, 2021 1:50 AM
To: tech-talk
Subject: CentOS8--An error occurred when installing StreamDevice
Hello, I got the following error when installing StreamDevice:
Compilation is interrupted.
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -DUSE_TYPED_RSET -DSTREAM_INTERNAL -O3 -Wall -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I.- I.. -I../../include/compiler/gcc -I../../include/os/Linux -I../../include -I/home/lytt/epics/base/include
/compiler/gcc -I/home/lytt/epics/base/include/os/Linux -I/home/lytt/epics/base/include -c ../AsynDriverInterface.cc
../AsynDriverInterface.cc:41:10: Fatal error: asynDriver.h: No such file or directory
#include "asynDriver.h"
Among them “asyn” has been installed and the asyn installation path is configured in configure/RELEASE. How can I solve this? Thank you!