I'm trying to build OpenDDS 3.4.1 with ACE+TAO-6.2.3. While following the DDS/INSTALL docs, option B, I'm running into the following build errors.
Here is directory location ...
/home/ender/OpenDDS-3.4.1/
|- ACE+TAO-6.2.3.tar
|- ACE_wrappers
|- DDS
`- OpenDDS-3.4.1.tar
Environment variables ...
ACE_ROOT=/home/ender/OpenDDS-3.4.1/ACE_wrappers
TAO_ROOT=/home/ender/OpenDDS-3.4.1/ACE_wrappers/TAO
DDS_ROOT=/home/ender/OpenDDS-3.4.1/DDS
MPC_ROOT=/home/ender/OpenDDS-3.4.1/ACE_wrappers/MPC
CIAO_ROOT=/home/ender/OpenDDS-3.4.1/ACE_wrappers/CIAO
And this is the build error I'm trying to get past.
g++ -fvisibility=hidden -fvisibility-inlines-hidden -pthread -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -D_GNU_SOURCE -DNDEBUG -I/home/ender/OpenDDS-3.4.1/ACE_wrappers -I/home/ender/OpenDDS-3.4.1/DDS -DACE_NDEBUG -D__ACE_INLINE__ -I/home/ender/OpenDDS-3.4.1/ACE_wrappers -I/home/ender/OpenDDS-3.4.1/ACE_wrappers/TAO -I../../../.. -DOPENDDS_TCP_BUILD_DLL -c -fPIC -o .shobj/TcpReceiveStrategy.o TcpReceiveStrategy.cpp
In file included from TcpReceiveStrategy.h:14:0,
from TcpReceiveStrategy.cpp:10:
/home/ender/OpenDDS-3.4.1/DDS/dds/DCPS/transport/framework/TransportReceiveStrategy_T.h:61:33: error: 'ACE_INET_Addr' has not been declared
/home/ender/OpenDDS-3.4.1/DDS/dds/DCPS/transport/framework/TransportReceiveStrategy_T.h:72:37: error: 'ACE_INET_Addr' does not name a type
/home/ender/OpenDDS-3.4.1/DDS/dds/DCPS/transport/framework/TransportReceiveStrategy_T.h:72:52: error: ISO C++ forbids declaration of 'remote_address' with no type [-fpermissive]
make[1]: *** [.shobj/TcpReceiveStrategy.o] Error 1
make[1]: Leaving directory `/home/ender/OpenDDS-3.4.1/DDS/dds/DCPS/transport/tcp'
make: *** [OpenDDS_Tcp] Error 2
I've built this before and it worked, but can't see why I'm having troubles this time around. Any ideas?
There has been some refactoring in ACE which causes OpenDDS 3.4.1 not to compile with ACE/TAO x.2.3. You have to manually add an include of ace/INET_Addr.h to dds/DCPS/transport/framework/TransportReceiveStrategy_T.h as done in commit 5998 of OpenDDS.