Reputation: 2265
Is it possible to build openDDS and the required ACE+TAO on an raspberry pi with raspbian?
I want to build it for java, so I tried the way described in $DDS_ROOT/java/INSTALL inlcuding the tips from here
but if I make
cd $ACE_ROOT/ace
make ACE
it ends with this error
.shobj/Based_Pointer_Repository.o:(.rodata+0x0): first defined here
.shobj/MEM_SAP.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.data.rel.ro+0x0): first defined here
.shobj/MEM_Stream.o:(.rodata+0x0): multiple definition of `typeinfo name for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.rodata+0x0): first defined here
.shobj/MEM_Stream.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.data.rel.ro+0x0): first defined here
.shobj/MMAP_Memory_Pool.o:(.rodata+0x34): multiple definition of `typeinfo name for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.rodata+0x0): first defined here
.shobj/MMAP_Memory_Pool.o:(.data.rel.ro+0x18): multiple definition of `typeinfo for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.data.rel.ro+0x0): first defined here
.shobj/Pagefile_Memory_Pool.o:(.rodata+0x0): multiple definition of `typeinfo name for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.rodata+0x0): first defined here
.shobj/Pagefile_Memory_Pool.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.data.rel.ro+0x0): first defined here
.shobj/PI_Malloc.o:(.rodata+0x0): multiple definition of `typeinfo name for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.rodata+0x0): first defined here
.shobj/PI_Malloc.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for ACE_Singleton<ACE_Based_Pointer_Repository, ACE_RW_Thread_Mutex>'
.shobj/Based_Pointer_Repository.o:(.data.rel.ro+0x0): first defined here
collect2: ld returned 1 exit status
make[1]: *** [libACE.so.6.3.1] Error 1
make[1]: Leaving directory `/home/bf/openDDS/ACE_wrappers/ace'
make: *** [ACE] Error 2
any ideas how I can solve this problem?
Upvotes: 2
Views: 755
Reputation: 3002
This is a problem with visibility and gcc 4.x. Try to add
#define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
to your ace/config.h file or
no_hidden_visibility=1
to your include/makeinclude/platform_macros.GNU
Upvotes: 1