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  2021  2022  2023  2024  <20252026  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  <20252026 
<== Date ==> <== Thread ==>

Subject: Re: Building modbus 3-4 on rhel-9 epics 3.15.9
From: Sue Witherspoon via Tech-talk <[email protected]>
To: "[email protected]" <[email protected]>
Date: Fri, 29 Aug 2025 17:22:33 +0000
Many thanks to Mark Rivers and Andrew Johnson! That pointed me in the right direction! 
I removed the reference to Linux in the configure/CONFIG_SITE file and let the default figure it out.  
    ie: 
           #CROSS_COMPILER_TARGET_ARCHS =

The real problem was in the order of libraries in the application's src/Makefile. I needed to put
asyn after  modbus.  Then all compiled and loaded and is now running! 

As always, this epics community is SUPERB!! 

Thanks again!!
Sue Witherspoon
Controls Software
Jefferson Lab

From: Mark Rivers <[email protected]>
Sent: Thursday, August 28, 2025 5:51 PM
To: Sue Witherspoon <[email protected]>; [email protected] <[email protected]>
Subject: [EXTERNAL] RE: Building modbus 3-4 on rhel-9 epics 3.15.9
 

Hi Sue,

 

I think the problem is this part of each g++ command:

-I/usr/dvlepics/epics/R3.15.9.J0/include/os/

 

That should actually say

-I/usr/dvlepics/epics/R3.15.9.J0/include/os/Linux

 

I suspect perhaps you don’t have EPICS_HOST_ARCH defined correctly?

 

Mark

 

 

From: Tech-talk <[email protected]> On Behalf Of Sue Witherspoon via Tech-talk
Sent: Thursday, August 28, 2025 4:26 PM
To: [email protected]
Subject: Building modbus 3-4 on rhel-9 epics 3.15.9

 

Apologies in advance for what I think is an old issue, but I seem to be missing something.

I am trying to make modbus-R3-4 on a rhel-9 server. I got the src from the github.com/epics-modules/modbus/tree/R3-4

 

/usr/bin/g++          -DUSE_TYPED_RSET        -O3   -Wall            -I. -I../O.Common -I. -I. -I.. -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/compiler/gcc -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/os/ -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include                  -I/cs/op/prod_R3.15.9.J0/asyn/4-45/include -I/usr/dvlepics/epics/R3.15.9.J0/include/compiler/gcc -I/usr/dvlepics/epics/R3.15.9.J0/include/os/ -I/usr/dvlepics/epics/R3.15.9.J0/include        -MM -MF testModbusSyncIO.d  ../testModbusSyncIO.cpp

In file included from /usr/dvlepics/epics/R3.15.9.J0/include/epicsThread.h:130,

                 from ../testModbusSyncIO.cpp:15:

/usr/dvlepics/epics/R3.15.9.J0/include/epicsEvent.h:78:10: fatal error: osdEvent.h: No such file or directory

   78 | #include "osdEvent.h"

      |          ^~~~~~~~~~~~

compilation terminated.

/usr/bin/gcc          -DUSE_TYPED_RSET        -O3   -Wall    -DUSE_TYPED_RSET        -I. -I../O.Common -I. -I. -I.. -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/compiler/gcc -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/os/ -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include                  -I/cs/op/prod_R3.15.9.J0/asyn/4-45/include -I/usr/dvlepics/epics/R3.15.9.J0/include/compiler/gcc -I/usr/dvlepics/epics/R3.15.9.J0/include/os/ -I/usr/dvlepics/epics/R3.15.9.J0/include        -MM -MF modbusInterpose.d  ../modbusInterpose.c

In file included from ../modbusInterpose.c:23:

/usr/dvlepics/epics/R3.15.9.J0/include/osiSock.h:19:10: fatal error: osdSock.h: No such file or directory

   19 | #include "osdSock.h"

      |          ^~~~~~~~~~~

compilation terminated.

/usr/bin/g++          -DUSE_TYPED_RSET        -O3   -Wall            -I. -I../O.Common -I. -I. -I.. -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/compiler/gcc -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/os/ -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include                  -I/cs/op/prod_R3.15.9.J0/asyn/4-45/include -I/usr/dvlepics/epics/R3.15.9.J0/include/compiler/gcc -I/usr/dvlepics/epics/R3.15.9.J0/include/os/ -I/usr/dvlepics/epics/R3.15.9.J0/include        -MM -MF drvModbusAsyn.d  ../drvModbusAsyn.cpp

In file included from /usr/dvlepics/epics/R3.15.9.J0/include/dbAccess.h:15,

                 from ../drvModbusAsyn.cpp:23:

/usr/dvlepics/epics/R3.15.9.J0/include/epicsTime.h:19:10: fatal error: osdTime.h: No such file or directory

   19 | #include "osdTime.h"

      |          ^~~~~~~~~~~

compilation terminated.

/usr/bin/g++          -DUSE_TYPED_RSET        -O3   -Wall            -I. -I../O.Common -I. -I. -I.. -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/compiler/gcc -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/os/ -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include                  -I/cs/op/prod_R3.15.9.J0/asyn/4-45/include -I/usr/dvlepics/epics/R3.15.9.J0/include/compiler/gcc -I/usr/dvlepics/epics/R3.15.9.J0/include/os/ -I/usr/dvlepics/epics/R3.15.9.J0/include        -MM -MF testModbusSyncIO.d  ../testModbusSyncIO.cpp

In file included from /usr/dvlepics/epics/R3.15.9.J0/include/epicsThread.h:130,

                 from ../testModbusSyncIO.cpp:15:

/usr/dvlepics/epics/R3.15.9.J0/include/epicsEvent.h:78:10: fatal error: osdEvent.h: No such file or directory

   78 | #include "osdEvent.h"

      |          ^~~~~~~~~~~~

compilation terminated.

/usr/bin/gcc          -DUSE_TYPED_RSET        -O3   -Wall    -DUSE_TYPED_RSET        -I. -I../O.Common -I. -I. -I.. -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/compiler/gcc -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/os/ -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include                  -I/cs/op/prod_R3.15.9.J0/asyn/4-45/include -I/usr/dvlepics/epics/R3.15.9.J0/include/compiler/gcc -I/usr/dvlepics/epics/R3.15.9.J0/include/os/ -I/usr/dvlepics/epics/R3.15.9.J0/include        -MM -MF modbusInterpose.d  ../modbusInterpose.c

In file included from ../modbusInterpose.c:23:

/usr/dvlepics/epics/R3.15.9.J0/include/osiSock.h:19:10: fatal error: osdSock.h: No such file or directory

   19 | #include "osdSock.h"

      |          ^~~~~~~~~~~

compilation terminated.

/usr/bin/g++          -DUSE_TYPED_RSET        -O3   -Wall            -I. -I../O.Common -I. -I. -I.. -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/compiler/gcc -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include/os/ -I/cs/op/prod_R3.15.9.J0/modbus/3-4/include                  -I/cs/op/prod_R3.15.9.J0/asyn/4-45/include -I/usr/dvlepics/epics/R3.15.9.J0/include/compiler/gcc -I/usr/dvlepics/epics/R3.15.9.J0/include/os/ -I/usr/dvlepics/epics/R3.15.9.J0/include        -MM -MF drvModbusAsyn.d  ../drvModbusAsyn.cpp

In file included from /usr/dvlepics/epics/R3.15.9.J0/include/dbAccess.h:15,

                 from ../drvModbusAsyn.cpp:23:

/usr/dvlepics/epics/R3.15.9.J0/include/epicsTime.h:19:10: fatal error: osdTime.h: No such file or directory

   19 | #include "osdTime.h"

      |          ^~~~~~~~~~~

compilation terminated.

 

Is there a particular FLAG and define that will mitigate this problem with osdTime, osdSock, osdEvent  etc. ?

-Thanks in advance

Sue Witherspoon

Controls Software

Jefferson Lab


References:
Building modbus 3-4 on rhel-9 epics 3.15.9 Sue Witherspoon via Tech-talk
RE: Building modbus 3-4 on rhel-9 epics 3.15.9 Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: help requested about motorPI module Dariush Hampai via Tech-talk
Next: Re: help requested about motorPI module Dariush Hampai 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  <20252026 
Navigate by Thread:
Prev: RE: Building modbus 3-4 on rhel-9 epics 3.15.9 Mark Rivers via Tech-talk
Next: CCD/sCMOS compatibility of ADAndor & ADAndor3 Irie Railton - STFC UKRI 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  <20252026 
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·