【问题标题】:openDDS on raspberry pi with raspbian带有 raspbian 的树莓派上的 openDDS
【发布时间】:2015-04-08 07:02:06
【问题描述】:

是否可以在带有 raspbian 的树莓派上构建 openDDS 和所需的 ACE+TAO?

我想为 java 构建它,所以我尝试了 $DDS_ROOT/java/INSTALL 中描述的方式,包括来自here的提示

但如果我做

cd $ACE_ROOT/ace
make ACE

以这个错误结束

.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

有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: java raspberry-pi ace data-distribution-service


    【解决方案1】:

    这是可见性和 gcc 4.x 的问题。尝试添加

    #define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
    

    到您的 ace/config.h 文件或

    no_hidden_visibility=1 
    

    到你的 include/makeinclude/platform_macros.GNU

    【讨论】:

      猜你喜欢
      • 2013-07-18
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      相关资源
      最近更新 更多