[tao-bugs] PortableServer: Servant_Base.cpp fails to compile on Solaris

Johnny Willemsen jwillemsen at remedy.nl
Tue Apr 12 11:13:51 CDT 2016


Hi,

Thanks for you response, please open a pull request at
https://github.com/DOCGroup/ATCD with the appropriate fix.

Best regards,

Johnny Willemsen
Remedy IT
Postbus 81 | 6930 AB Westervoort | The Netherlands
http://www.remedy.nl

On 04/12/2016 05:34 PM, Bob Johnson wrote:
> I did some digging and it looks like this is not a compiler bug.  This
> version of the compiler just adheres more strictly to the namespace
> lookup rules in the C++ standard.
> http://en.cppreference.com/w/cpp/language/dependent_name#Lookup_rules
> 
> There was already a #define to handle this properly for another compiler
> so I was able to fix the issue by adding the following like to my config.h
> #define ACE_ANY_OPS_USE_NAMESPACE
> 
> For a proper fix, you probably want something like this in one of the
> config-sunos*.h files:
> 
> #if defined (__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)
> #define ACE_ANY_OPS_USE_NAMESPACE
> #endif
> 
> 
> 
> On 4/12/2016 1:41 AM, Johnny Willemsen wrote:
>> Hi,
>>
>> Thanks for using the PRF form. TAO isn't tested/maintained with this
>> recent Solaris Studio compiler. I have seen this error in some user
>> reports and with some experiments I did locally some time ago.
>>
>> As far as I could determine this is a bug in the compiler, please
>> contact the Oracle Sun Studio compiler group to let them have a look at
>> the code and the error you got.
>>
>> Best regards,
>> Johnny Willemsen
>> Remedy IT
>> Postbus 81 | 6930 AB Westervoort | The Netherlands
>> http://www.remedy.nl
>>
>> On 04/11/2016 09:50 PM, Bob Johnson wrote:
>>> TAO VERSION: 2.3.3
>>> ACE VERSION: 6.3.3
>>>
>>> HOST MACHINE and OPERATING SYSTEM:
>>> SunOS 5.11 11.3 sun4v sparc
>>>
>>> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
>>> same as HOST
>>>
>>> COMPILER NAME AND VERSION (AND PATCHLEVEL):
>>> Oracle Solaris Studio 12.4
>>> CC: Sun C++ 5.13 SunOS_sparc 151845-12 2016/01/26
>>>
>>> THE $ACE_ROOT/ace/config.h FILE
>>> #include <ace/config-sunos5.11.h>
>>>
>>> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE
>>> ssl=1
>>> exceptions=1
>>> buildbits=64
>>> debug=0
>>> optimize=1
>>> stlport=1
>>> INSTALL_PREFIX = $(HOME)/3rdparty
>>> include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU
>>> CCFLAGS += -features=zla
>>>
>>> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
>>> ssl=1
>>> ace_qtreactor    = 0
>>> ace_xtreactor    = 0
>>> ace_tkreactor    = 0
>>> ace_flreactor    = 0
>>> ace_foxreactor   = 0
>>> tao_qtresource    = 0
>>> tao_xtresource    = 0
>>> tao_tkresource    = 0
>>> tao_flresource    = 0
>>> tao_foxresource   = 0
>>> gl            = 0
>>> x11           = 0
>>> debug=0
>>> optimize=1
>>>
>>>
>>> AREA/CLASS/EXAMPLE AFFECTED:
>>> TAO/tao/PortableServer/GNUmakefile.PortableServer
>>> Servant_Base.cpp
>>>
>>> DOES THE PROBLEM AFFECT:
>>> COMPILATION?
>>> yes
>>>
>>> LINKING?
>>> no
>>>
>>> EXECUTION?
>>> N/A
>>>
>>> OTHER (please specify)?
>>> N/A
>>>
>>> SYNOPSIS:
>>> $TAO_ROOT/tao/PortableServer/Servant_Base.cpp fails to compile.
>>>
>>> DESCRIPTION:
>>> Make fails with the following output:
>>> CC -mt -m64 -xO4 -features=zla  -library=stlport4 -DACE_HAS_KSTAT
>>> -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -D_POSIX_PTHREAD_SEMANTICS -DNDEBUG 
>>> -I/scratch/build_2300/internal/3rdparty/ACE_wrappers -DACE_NDEBUG
>>> -DACE_HAS_SCTP -DACE_HAS_LKSCTP -D__ACE_INLINE__ -DACE_HAS_STLPORT 
>>> -I../../.. -I../.. -DTAO_HAS_VALUETYPE_OUT_INDIRECTION
>>> -DTAO_PORTABLESERVER_BUILD_DLL -c -KPIC -o .shobj/Servant_Base.o
>>> Servant_Base.cpp
>>> "../../tao/Any_Insert_Policy_T.h", line 42: Error: The operation
>>> "CORBA::Any<<= CORBA::Object*const" is illegal.
>>> "../../tao/PortableServer/Object_SArgument_T.cpp", line 118: Where:
>>> While instantiating "static
>>> TAO::Any_Insert_Policy_Stream<CORBA::Object*>::any_insert(CORBA::Any*,
>>> CORBA::Object*const&)".
>>> "../../tao/PortableServer/Object_SArgument_T.cpp", line 118: Where:
>>> Instantiated from TAO::Ret_Object_SArgument_T<CORBA::Object*,
>>> TAO_Pseudo_Var_T<CORBA::Object>,
>>> Any_Insert_Policy_Stream>::interceptor_value(CORBA::Any*) const.
>>>     Where: Instantiated from non-template code.
>>> 1 Error(s) detected.
>>> make[1]: *** [.shobj/Servant_Base.o] Error 2
>>>
>>> REPEAT BY:
>>> cd $TAO_ROOT/tao ; make
>>>
>>> SAMPLE FIX/WORKAROUND:
>>> N/A
>>>
>>> _______________________________________________
>>> tao-bugs mailing list
>>> tao-bugs at list.isis.vanderbilt.edu
>>> http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-bugs
> 
> -- 
> <http://www.oracle.com> Bob Johnson | Principal Applications Engineer
> Phone: +16125875083 <tel:+16125875083> | Fax: +16125875083
> <fax:+16125875083>
> Oracle NMS Development
> 900 Second Avenue South Suite 900 | Minneapolis, MN 55402
> <http://www.oracle.com/commitment> Oracle is committed to developing
> practices and products that help protect the environment


More information about the tao-bugs mailing list