On Apr 1, 2021, at 1:50 AM, 回忆回眸 wrote:
>
> 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!
When you have built Asyn and properly configured it in your configure/RELEASE file the path to the Asyn module’s include subdirectory is visible as one of the -I parameters to the /usr/bin/g++ command. I don’t see that in your output above, so that either means that you have a typo in the path you used, or your Asyn module hasn’t been built properly and doesn’t have an include directory (the build system will not provide a -I option to a path which doesn’t exist).
I would run the commands below to check your installation, this is what they give on my system:
$ grep ASYN configure/RELEASE
ASYN=/C2/ioc-modules/build/ASYN/4.40-C2-2+PH-014
$ ls /C2/ioc-modules/build/ASYN/4.40-C2-2+PH-014
asyn/ lib/ testApp/ testFtdiApp/
bin/ LICENSE testArrayRingBufferApp/ testGpibApp/
configure/ Makefile testAsynPortClientApp/ testGpibSerialApp/
db/ makeSupport/ testAsynPortDriverApp/ testIPServerApp/
dbd/ opi/ testBroadcastApp/ testManagerApp/
documentation/ README.md testConnectApp/ testOutputCallbackApp/
include/ sumo-all testEpicsApp/ testOutputReadbackApp/
iocBoot/ templates/ testErrorsApp/ testUsbtmcApp/
For CentOS8 you may also need to disable building the streamApp subdirectory because if you have configured Asyn with USE_TIRPC=YES the IOC built in that StreamDevice directory will fail to link (it also needs to be linked with the libtirpc.so library when Asyn uses it). Make this change to your StreamDevice installation to do that:
> diff --git a/Makefile b/Makefile
> index a70eb89..c9feee6 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -6,7 +6,9 @@ DIRS = configure
> DIRS += src
> src_DEPEND_DIRS = configure
>
> -DIRS += streamApp
> +# Disabled, we don’t need this and Asyn’s setting
> +# USE_TIRPC=YES causes a link failure
> +#DIRS += streamApp
> streamApp_DEPEND_DIRS = src
>
> include $(CONFIG)/RULES_TOP
- Andrew
--
Complexity comes for free, simplicity you have to work for.
- References:
- CentOS8--An error occurred when installing StreamDevice =?gb18030?b?u9jS5LvY7fg=?= via Tech-talk
- Navigate by Date:
- Prev:
device support for Inficon SQM-160 or STM-2XM Laurenz Rettig via Tech-talk
- Next:
Re: Questions about arrays Ralph Lange 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:
CentOS8--An error occurred when installing StreamDevice =?gb18030?b?u9jS5LvY7fg=?= via Tech-talk
- Next:
RE: CentOS8--An error occurred when installing StreamDevice 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
|