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  2020  <20212022  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  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: 回复:RE: 回复: 回复: CentOS8--An error occurred when installing StreamDevice
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: 回忆回眸 <liu1516301092 at foxmail.com>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Fri, 2 Apr 2021 14:16:46 +0000

> make[2]: *** There is no rule to make the target "../../lib/linux-x86_64/libpcre.a", which is required by "libstream.so".

 

Your original RELEASE file contained this.

Ø  PCRE=$(SUPPORT)/streamdevice/StreamDevice-master/prce/prce2-10.36

 

This seems strange because you have put the pcre module under StreamDevice-master.  It really should be at the same level as asyn, calc, streamdevice, etc.  Then you need to build pcre first, and correctly define its location in StreamDevice-master/configure/RELEASE.

 

Alternatively you can just install the package that contains libpcre.so on your Linux system, and then you don’t need to build it.  That is what I have done.

 

Mark

 

 


From: 忆回眸 <liu1516301092 at foxmail.com>
Sent: Friday, April 2, 2021 9:01 AM
To: Mark Rivers
Subject:
回复:RE: 回复: 回复: CentOS8--An error occurred when installing StreamDevice

 

I did it again according to your first method, and finally it can be compiled. But an error occurred.

 

/usr/bin/ranlib libstream.a

make[2]: *** There is no rule to make the target "../../lib/linux-x86_64/libpcre.a", which is required by "libstream.so". Stop.

make[2]: leave the directory "/home/lytt/epics/streamdevice/StreamDevice-master/src/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/src"

make: *** [/home/lytt/epics/base/configure/RULES_DIRS:85: src.install] Error 2

 

I have the following files in my include file:

 

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

 

I want to know, according to your first method, you can compile. Is the error reported because of missing files in my file? And will it affect me later when I use StreamDevice for work? Thank you!

------------------ 原始邮件 ------------------

发件人: "Mark Rivers" <rivers at cars.uchicago.edu>;

发送时间: 202142(星期五) 晚上9:38

收件人: "忆回眸"<liu1516301092 at foxmail.com>;

抄送: "EPICS Tech-Talk"<tech-talk at aps.anl.gov>;

: RE: 回复: 回复: CentOS8--An error occurred when installing StreamDevice

 

Ø  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

  #include "asynDriver.h"

           ^~~~~~~~~~~~~~

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!

 

 

------------------ 原始邮件 ------------------

发件人: "Mark Rivers" <rivers at cars.uchicago.edu>;

发送时间: 202142(星期五) 晚上7:49

收件人: "忆回眸"<liu1516301092 at foxmail.com>;

: 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>;
发送时间: 202142(星期五) 中午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>;
发送时间: 202142(星期五) 中午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>;
发送时间: 202142(星期五) 凌晨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!


References:
RE: 回复: 回复: CentOS8--An error occurred when installing StreamDevice Mark Rivers via Tech-talk

Navigate by Date:
Prev: RE: 回复: 回复: CentOS8--An error occurred when installing StreamDevice Mark Rivers via Tech-talk
Next: phoebus LED in boolean button Pierrick M Hanlet 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  <20212022  2023  2024 
Navigate by Thread:
Prev: RE: 回复: 回复: CentOS8--An error occurred when installing StreamDevice Mark Rivers via Tech-talk
Next: phoebus LED in boolean button Pierrick M Hanlet 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  <20212022  2023  2024 
ANJ, 02 Apr 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·