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: Asyn Module
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: Francisco Ramos <framoslandaeta at gmail.com>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Fri, 30 Jul 2021 19:01:01 +0000
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  <20212022  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  <20212022  2023  2024 
ANJ, 30 Jul 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·