Experimental Physics and Industrial Control System
|
Hi Francisco,
Welcome to the EPICS community!
On Jul 30, 2021, at 11:57 AM, Francisco Ramos via Tech-talk < tech-talk at aps.anl.gov> wrote:
I am new to working with EPICS and I don't know if this is the right way to share a bug I am having when compiling the ASYN module, version R4-42 on centos8. If not, I would be grateful if you could tell me how to do the process
correctly.
An email like this is usually an excellent way to start a problem report. The maintainer of the appropriate module may ask you to do something else when they read your message (which may be different for different modules or even different bugs), but this
list exists for exactly this kind of purpose.
I got an error when compiling the testGpibApp. The error obtained is when trying to compile for RTEMS and I get that it does not find the -ltirpc. While for linux x86 it compiles everything correctly and finishes the compilation
of both the library and the tests.
Also, I have uncommented TIRPC=YES because in centos 8 they moved RPC to libtirpc, as is described in the CONFIG_SITE file. Trying to understand why the library is compiled without problems, I have seen that in the ./asyn/Makefile the
library is included in the USR_INCLUDES_Linux += -I/usr/include/tirpc while in the ./testGpibApp/src/Makefile it is USR_INCLUDES += -I/usr/include/tirpc. I changed the ./testGpibApp/src/Makefile following the
same philosophy as in the ./asyn/Makefile and everything compiled perfectly. I'm still wondering if this is correct and I would like to know your point of view. At the end of the post, there is a table describing the change.
...
asyn/Makefile |
Original: testGpibApp/src/Makefile |
Changed: testGpibApp/src/Makefile |
ifeq ($(TIRPC),YES)
USR_INCLUDES_Linux += -I/usr/include/tirpc
asyn_SYS_LIBS_Linux += tirpc
endif |
ifeq ($(TIRPC),YES)
USR_INCLUDES += -I/usr/include/tirpc
testGpib_SYS_LIBS += tirpc
endif |
ifeq ($(TIRPC),YES)
USR_INCLUDES_Linux += -I/usr/include/tirpc
asyn_SYS_LIBS_Linux += tirpc
endif |
The EPICS build system has many different ways to adjust the build configuration of modules. Your changes are almost correct, your line
asyn_SYS_LIBS_Linux += tirpc
should actually be
testGpib_SYS_LIBS_Linux += tirpc
but that error may have been a typo in your email. This change will do the right thing, but there is a simpler way to achieve the same result without having to modify the Makefile at all.
You correctly followed the instructions in the CONFIG_SITE file to set TIRPC=YES as required by CentOS 8 but those were written without considering someone building for multiple targets that have different configuration
requirements. You can achieve the result you need if you move the TIRPC=YES setting to the CONFIG_SITE.Common.linux-x86_64 file instead, since variables set there override the settings in the CONFIG_SITE file only when building
for the linux-x86_64 target.
Regards,
- Andrew
--
Complexity comes for free, simplicity you have to work for.
|
- Replies:
- Re: Asyn Module Francisco Ramos via Tech-talk
- References:
- Asyn Module Francisco Ramos via Tech-talk
- Navigate by Date:
- Prev:
Asyn Module Francisco Ramos via Tech-talk
- Next:
ADVimba image acquisition issues Wlodek, Jakub 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:
Asyn Module Francisco Ramos via Tech-talk
- Next:
Re: Asyn Module Francisco Ramos 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
|
ANJ, 30 Jul 2021 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|