Code:
cxx -c -I../../include -I.. -DICE_GRID_API_EXPORTS -DGPL_BUILD -pthread -std gnu -D_REENTRANT -D__osf1__ -pthread -D__USE_STD_IOSTREAM -g ServerI.cpp
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/memory, line 174:
incomplete type is not allowed
detected during:
instantiation of "size _RWrwstd::_RWrw_allocation_size(T *, size,
size) [with
T=std::vector<IceGrid::ServiceInstanceHelper,
std::allocator<IceGrid::ServiceInstanceHelper>>::value_ty
pe, size=unsigned long]" at line 238 of
"/usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector"
instantiation of "void std::vector<T, Allocator>::_RWinit() [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 249 of
"/usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector"
instantiation of "std::vector<T, Allocator>::vector(const
Allocator &) [with T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 143 of "../IceGrid/DescriptorHelper.h"
return (_RWSTD_CONTAINER_BUFFER_SIZE)*(1+((sizeof(T)-1)/_RWSTD_CONTAINER_BUFFER_SIZE)) / sizeof(T);
--------------------------------------------------------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/memory, line 174:
incomplete type is not allowed
detected during:
instantiation of "size _RWrwstd::_RWrw_allocation_size(T *, size,
size) [with
T=std::vector<IceGrid::ServiceInstanceHelper,
std::allocator<IceGrid::ServiceInstanceHelper>>::value_ty
pe, size=unsigned long]" at line 238 of
"/usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector"
instantiation of "void std::vector<T, Allocator>::_RWinit() [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 249 of
"/usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector"
instantiation of "std::vector<T, Allocator>::vector(const
Allocator &) [with T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 143 of "../IceGrid/DescriptorHelper.h"
return (_RWSTD_CONTAINER_BUFFER_SIZE)*(1+((sizeof(T)-1)/_RWSTD_CONTAINER_BUFFER_SIZE)) / sizeof(T);
------------------------------------------------------------------------------------------------------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/memory, line 246:
pointer to incomplete class type is not allowed
detected during:
instantiation of "void _RWrwstd::_RWdestroy(T *) [with
T=IceGrid::ServiceInstanceHelper]" at line 471
instantiation of "void std::allocator<T>::destroy(T *) [with
T=IceGrid::ServiceInstanceHelper]" at line 207 of
"/usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector"
instantiation of "void std::vector<T,
Allocator>::_RWdestroy(std::vector<T,
Allocator>::iterator, std::vector<T,
Allocator>::iterator) [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 459 of
"/usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector"
instantiation of "std::vector<T, Allocator>::~vector() [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 143 of "../IceGrid/DescriptorHelper.h"
pointer->~T();
----^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector, line 207:
expression must be a pointer to a complete object type
detected during:
instantiation of "void std::vector<T,
Allocator>::_RWdestroy(std::vector<T,
Allocator>::iterator, std::vector<T,
Allocator>::iterator) [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 459
instantiation of "std::vector<T, Allocator>::~vector() [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]
" at line 143 of "../IceGrid/DescriptorHelper.h"
_RWvalue_alloc_type(_RWend_of_storage).destroy(start++);
-------------------------------------------------------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector, line 460:
expression must be a pointer to a complete object type
detected during instantiation of "std::vector<T,
Allocator>::~vector() [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]"
at line 143 of "../IceGrid/DescriptorHelper.h"
_RWvalue_alloc_type(_RWend_of_storage).deallocate(_RWstart,_RWend_of_storage.data()-_RWstart);
-----------------------------------------------------------------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-014/include/cxx/vector, line 460:
expression must be a pointer to a complete object type
detected during instantiation of "std::vector<T,
Allocator>::~vector() [with
T=IceGrid::ServiceInstanceHelper,
Allocator=std::allocator<IceGrid::ServiceInstanceHelper>]"
at line 143 of "../IceGrid/DescriptorHelper.h"
_RWvalue_alloc_type(_RWend_of_storage).deallocate(_RWstart,_RWend_of_storage.data()-_RWstart);
------------------------------------------------------------------------------------------^
cxx: Info: 6 errors detected in the compilation of "ServerI.cpp".
make: *** [ServerI.o] Error 1
Strangely.. it seems the order of defining the class is important here.