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"
/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"
/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"
/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"
/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"
/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"
Is there a particular FLAG and define that will mitigate this problem with osdTime, osdSock, osdEvent etc. ?