Duplicate Symbols when compiling with arm-linux-gnueabihf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm working on a problem where I have a code sample from biogears
https://github.com/BioGearsEngine/core

Where my XSD CodeSynthesis generated code fails the one definition rule
when compiled against an gcc5.4 armhf compiler.  I regularly build the same
files against gcc5.4 arm64 MacOS & Linux and Visual Studio 2017 Win64.  I
can also build against gcc5.4 aarch64.  I'm including an example from my
drive account that reduces this to two compilation units. Saddly, this
requires a number of headers from XSD and Xerces-C to compile so they are
included as well.


https://drive.google.com/open?id=1xfzEyugXOGKYuj69JKD2RXqbMBQ4ro4r

I'm hopping the mailing list can point me in to some build chain or output
format difference between arm7 and arm8 that might be the cause. Or a
difference in the ubuntu 16.04 cross-compiler default flags. I'm going to
admit. I can't really decide where to start on this so any help is
appreciated.


Error armhf
arm-linux-gnueabihf-g++ (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0
20160609
Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



arm-linux-gnueabihf-g++ -shared -Wl,-soname,libbiogears_cdm_d.so -o
libbiogears_cdm_d.so ActionData.o ActionListData.o

ActionListData.o:(.data.rel.ro+0x348): multiple definition of `typeinfo for
xsd::cxx::tree::simple_type<char, xsd::cxx
::tree::_type>::text_content_type'

ActionData.o:(.data.rel.ro+0x348): first defined here

ActionListData.o:(.data.rel.ro+0x54): multiple definition of `typeinfo for
xsd::cxx::tree::no_prefix_mapping<char>'
ActionData.o:(.data.rel.ro+0x54): first defined here

ActionListData.o:(.data.rel.ro+0xb4): multiple definition of `typeinfo for
xsd::cxx::tree::bounds<char>'
ActionData.o:(.data.rel.ro+0xb4): first defined here

ActionListData.o:(.data.rel.ro+0x3c): multiple definition of `typeinfo for
xsd::cxx::tree::not_derived<char>'
ActionData.o:(.data.rel.ro+0x3c): first defined here

ActionListData.o:(.data.rel.ro+0x48): multiple definition of `typeinfo for
xsd::cxx::tree::no_type_info<char>'
ActionData.o:(.data.rel.ro+0x48): first defined here

ActionListData.o:(.data.rel.ro+0x60): multiple definition of `typeinfo for
xsd::cxx::tree::expected_text_content<char>
'

Success aarch64
aarch64-linux-gnu-g++ (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



aarch64-linux-gnu-g++ --std=c++14 -I. -Ibiogears/schema -fPIC -o
ActionData.o -c ActionData.cxx
aarch64-linux-gnu-g++ --std=c++14 -I. -Ibiogears/schema -fPIC -o
ActionListData.o -c ActionListData.cxx
Building libbiogears_cdm.so

aarch64-linux-gnu-g++ -shared -Wl,-soname,libbiogears_cdm_d.so -o
libbiogears_cdm_d.so ActionData.o ActionListData.o


Success amd64
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



g++ --std=c++14 -I. -Ibiogears/schema -fPIC -o ActionData.o -c
ActionData.cxx
g++ --std=c++14 -I. -Ibiogears/schema -fPIC -o ActionListData.o -c
ActionListData.cxx
Building libbiogears_cdm.so

g++ -shared -Wl,-soname,libbiogears_cdm_d.so -o libbiogears_cdm_d.so
ActionData.o ActionListData.o

Linux biogears-dev01 4.4.0-130-generic #156-Ubuntu SMP Thu Jun 14 08:53:28
UTC 2018 x86_64 x86_64 x86_64 GNU/Linux


-- 
Memento Mori



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux