f



RE: [ace-users] Problem compiling application with ACE 5.4.2 #2

Hi,

I quickly scanned your changes. In the upcoming x.4.3 version this will be
already available but then guarded with ACE_HAS_STREAM_PIPES, SunOS has that
define set. So, when x.4.3 is available, download that and use it, then you
don't have to patch anymore.

Regards,

Johnny Willemsen
Remedy IT
Leeghwaterstraat 25
2811 DT Reeuwijk
The Netherlands
www.theaceorb.nl / www.remedy.nl 
 
> <snip>
> 
> I've had to make quite a number of changes to get ACE 5.4.2 to compile
> in debug mode. All the changes appear to be similar to the one Johnny
> suggested below. I've listed the changes I've had to make. I have only
> compiled the basic library - have not gone into the tests or 
> examples at
> this point...
> 
> I'm not sure if these problems are triggered by the compiler, 
> or by our
> use of STLPort. But it does compile with these changes in the source
> code...
> 
> 
> > > It is in the ACE_Sock_Connect::gethandle() routine. I'll 
> play around
> > > with it and see if I can narrow down the problem...
> > 
> > That is then on the call:
> >   handle = ACE_OS::open ("/dev/udp", O_RDONLY);
> > That should come from OS_NS_fcntl.h
> > 
> > At the top try to add these lines, they will be in the 
> upcoming x.4.3
> > release
> > 
> > #if defined (sparc) && ! defined (CHORUS)
> > #  include "ace/OS_NS_fcntl.h"
> > #endif  // sparc && !CHORUS
> > 
> > Johnny
> 
> I added those lines and Sock_Connect.cpp compiled. Then I ran into a
> series of other problems:
> 
> 
> CC -mt -g -library=iostream,no%Cstd -DACE_USES_OLD_IOSTREAMS -
> I/auto/vsc-tools/stl/STLport-4.5.1/stlport  -noex  -
> DACE_USES_OLD_IOSTREAMS -DSUN_CC_HAS_PVFC_BUG  -I/auto/vsc-
> tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg -DACE_NO_INLINE -I.. -
> DACE_HAS_ACE_TOKEN -DACE_HAS_ACE_SVCCONF -DACE_BUILD_DLL  -c -KPIC -
> o .shobj/DEV_Connector.o DEV_Connector.cpp
> "/auto/vsc-
> tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
>  line 99:
> Error: ACE_Str_Buf is not defined.
> "/auto/vsc-
> tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
>  line 105:
> Error: ")" expected instead of "*".
> "/auto/vsc-
> tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
>  line 111:
> Error: ACE_Str_Buf is not defined.
> "/auto/vsc-
> tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
>  line 116:
> Error: ")" expected instead of "*".
> 4 Error(s) detected.
> 
> Again, this compiled with optimization, and fails compiling with debug
> turned on...
> 
> I added this to DEV_IO.h
> 
> #if defined (sparc) && ! defined (CHORUS)
> #  include "ace/OS_NS_stropts.h"
> #endif  // sparc && !CHORUS
> 
> 
> =============
> 
> In FIFO_Send_Msg.h, I had to add
> #if defined (sparc) && ! defined (CHORUS)
> #  include <sys/stropts.h>
> #endif  // sparc && !CHORUS
> 
> to get the definition of MSG_BAND
> 
> ================
> 
> 
> In File_IO.h, I had to add
> #if defined (sparc) && ! defined (CHORUS)
> #  include "ace/OS_NS_stropts.h"
> #endif  // sparc && !CHORUS
> 
> to get the definition of ACE_Str_Buf
> 
> ===============
> In Pipe.cpp, I had to add
> 
> #if defined (sparc) && ! defined (CHORUS)
> #  include "ace/OS_NS_unistd.h"
> #endif  // sparc && !CHORUS
> 
> because pipe was not included in the ACE_OS namespace
> 
> =================
> 
> In SPIPE_Acceptor.cpp, I had to add
> #if defined (sparc) && ! defined (CHORUS)
> #  include "ace/OS_NS_unistd.h"
> #endif  // sparc && !CHORUS
> 
> because pipe, unlink and close were not included in the 
> ACE_OS namespace
> 
> =================
> 
> nbc
> > 
> -- 
> NAME:   Neil B. Cohen (Cisco Systems Inc.)
> PHONE:  703-484-1316
> DOMAIN: nbc@cisco.com
> *************************************************************
> * Murphy's Philosophy: Smile - tomorrow will be worse...    *
> *                                                           *
> * O'Tooles Commentary: Murphy was an optimist!              *
> *************************************************************
> 














































































































0
Johnny
12/1/2004 9:32:25 AM
comp.soft-sys.ace 20326 articles. 1 followers. marlow.andrew (167) is leader. Post Follow

1 Replies
643 Views

Similar Articles

[PageSpeed] 48

On Wed, 2004-12-01 at 10:24 +0100, Johnny Willemsen wrote:
> Hi,
> 
> I quickly scanned your changes. In the upcoming x.4.3 version this will be
> already available but then guarded with ACE_HAS_STREAM_PIPES, SunOS has that
> define set. So, when x.4.3 is available, download that and use it, then you
> don't have to patch anymore.
> 
> Regards,
> 
> Johnny Willemsen
> Remedy IT
> Leeghwaterstraat 25
> 2811 DT Reeuwijk
> The Netherlands
> www.theaceorb.nl / www.remedy.nl 

Fair enough - is there a schedule or hoped-for date when 5.4.3 will be
available??

Also - after building the library, I ran into the same problem with my
application - it tells me that closesocket is not a member of the ACE
namespace. I'll play around with adding the include files to get rid of
that. The workaround I had was to undefine the ACE_HAS_INLINED_OSCALLS
and I don't like that - feels like a real kludge...

nbc
> 
> > <snip>
> > 
> > I've had to make quite a number of changes to get ACE 5.4.2 to compile
> > in debug mode. All the changes appear to be similar to the one Johnny
> > suggested below. I've listed the changes I've had to make. I have only
> > compiled the basic library - have not gone into the tests or 
> > examples at
> > this point...
> > 
> > I'm not sure if these problems are triggered by the compiler, 
> > or by our
> > use of STLPort. But it does compile with these changes in the source
> > code...
> > 
> > 
> > > > It is in the ACE_Sock_Connect::gethandle() routine. I'll 
> > play around
> > > > with it and see if I can narrow down the problem...
> > > 
> > > That is then on the call:
> > >   handle = ACE_OS::open ("/dev/udp", O_RDONLY);
> > > That should come from OS_NS_fcntl.h
> > > 
> > > At the top try to add these lines, they will be in the 
> > upcoming x.4.3
> > > release
> > > 
> > > #if defined (sparc) && ! defined (CHORUS)
> > > #  include "ace/OS_NS_fcntl.h"
> > > #endif  // sparc && !CHORUS
> > > 
> > > Johnny
> > 
> > I added those lines and Sock_Connect.cpp compiled. Then I ran into a
> > series of other problems:
> > 
> > 
> > CC -mt -g -library=iostream,no%Cstd -DACE_USES_OLD_IOSTREAMS -
> > I/auto/vsc-tools/stl/STLport-4.5.1/stlport  -noex  -
> > DACE_USES_OLD_IOSTREAMS -DSUN_CC_HAS_PVFC_BUG  -I/auto/vsc-
> > tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg -DACE_NO_INLINE -I.. -
> > DACE_HAS_ACE_TOKEN -DACE_HAS_ACE_SVCCONF -DACE_BUILD_DLL  -c -KPIC -
> > o .shobj/DEV_Connector.o DEV_Connector.cpp
> > "/auto/vsc-
> > tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
> >  line 99:
> > Error: ACE_Str_Buf is not defined.
> > "/auto/vsc-
> > tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
> >  line 105:
> > Error: ")" expected instead of "*".
> > "/auto/vsc-
> > tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
> >  line 111:
> > Error: ACE_Str_Buf is not defined.
> > "/auto/vsc-
> > tools/ACE/ACE.5.4.2/ACE_wrappers/build_Sol8_dbg/ace/DEV_IO.h",
> >  line 116:
> > Error: ")" expected instead of "*".
> > 4 Error(s) detected.
> > 
> > Again, this compiled with optimization, and fails compiling with debug
> > turned on...
> > 
> > I added this to DEV_IO.h
> > 
> > #if defined (sparc) && ! defined (CHORUS)
> > #  include "ace/OS_NS_stropts.h"
> > #endif  // sparc && !CHORUS
> > 
> > 
> > =============
> > 
> > In FIFO_Send_Msg.h, I had to add
> > #if defined (sparc) && ! defined (CHORUS)
> > #  include <sys/stropts.h>
> > #endif  // sparc && !CHORUS
> > 
> > to get the definition of MSG_BAND
> > 
> > ================
> > 
> > 
> > In File_IO.h, I had to add
> > #if defined (sparc) && ! defined (CHORUS)
> > #  include "ace/OS_NS_stropts.h"
> > #endif  // sparc && !CHORUS
> > 
> > to get the definition of ACE_Str_Buf
> > 
> > ===============
> > In Pipe.cpp, I had to add
> > 
> > #if defined (sparc) && ! defined (CHORUS)
> > #  include "ace/OS_NS_unistd.h"
> > #endif  // sparc && !CHORUS
> > 
> > because pipe was not included in the ACE_OS namespace
> > 
> > =================
> > 
> > In SPIPE_Acceptor.cpp, I had to add
> > #if defined (sparc) && ! defined (CHORUS)
> > #  include "ace/OS_NS_unistd.h"
> > #endif  // sparc && !CHORUS
> > 
> > because pipe, unlink and close were not included in the 
> > ACE_OS namespace
> > 
> > =================
> > 
> > nbc
> > > 
> > -- 
> > NAME:   Neil B. Cohen (Cisco Systems Inc.)
> > PHONE:  703-484-1316
> > DOMAIN: nbc@cisco.com
> > *************************************************************
> > * Murphy's Philosophy: Smile - tomorrow will be worse...    *
> > *                                                           *
> > * O'Tooles Commentary: Murphy was an optimist!              *
> > *************************************************************
> > 
> 

























































































































-- 
NAME:   Neil B. Cohen (Cisco Systems Inc.)
PHONE:  703-484-1316
DOMAIN: nbc@cisco.com
*************************************************************
* Murphy's Philosophy: Smile - tomorrow will be worse...    *
*                                                           *
* O'Tooles Commentary: Murphy was an optimist!              *
*************************************************************

0
Neil
12/1/2004 1:42:30 PM
Reply: