theRockLiu / gperftools

Automatically exported from code.google.com/p/gperftools
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Conflicting symbol with Google coredumper #565

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. link statically coredumper and tcmalloc
---> GNU ld fails with a multiple definition error on both 
ListAllProcessThreads and ResumeAllProcessThreads symbols

What is the expected output? What do you see instead?
It would be nice to be able to link both libs without adding -z muldefs to the 
linker flags. I don't understand why these two symbols are not C++ symbols 
embedded in a namespace (same for coredumper) that would avoid this naming 
conflict. Can you please consider moving these symbol inside a C++ namespace ?

What version of the product are you using? On what operating system?
SLES 11 SP1 x86_84 and TCMalloc 1.8.3 (but it happens with any recent TCMalloc)

Original issue reported on code.google.com by romain.g...@gmail.com on 20 Aug 2013 at 9:27

GoogleCodeExporter commented 9 years ago
Ideally we'd use -fvisibility=hidden, but as short-term fix moving those folks 
to some namespace may be fine.

If you can contribute a patch that would be super-awesome.

Original comment by alkondratenko on 24 Aug 2013 at 6:21

GoogleCodeExporter commented 9 years ago
Please, consider testing from here: 
https://github.com/alk/gperftools/tree/issue-565

Original comment by alkondratenko on 22 Sep 2013 at 1:37

GoogleCodeExporter commented 9 years ago
merged

Original comment by alkondratenko on 19 Jan 2014 at 1:30