user2071938
user2071938

Reputation: 2265

openDDS on raspberry pi with raspbian

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

Answers (1)

Johnny Willemsen
Johnny Willemsen

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

Related Questions