4 ms·
I don't think static linking saves you here. This looks to be caused by an ODR violation (the "one definition rule"). The linker has two symbols with the same i
by flqn 6y ago
I don't think static linking saves you here. This looks to be caused by an ODR violation (the "one definition rule"). The linker has two symbols with the same identifier and has to choose one.
- vardump 6y agoPerhaps this should trigger a warning. Or even an error with an option to provide (or generate with a known good configuration) an exclusion list for those. Yeah, there are probably a lot of ways this would still cause issues. In any larger project with non-trivial dependencies, C-ABI generates a lot of extra work. At least without decorated (= mangled) function names...
- mkj 6y agoStatic linking would error out with something like bar.c:(.text+0x0): multiple definition of `socket_send' at compile time. (edit: I mean static linking everything including third party libraries)
- DarkmSparks 6y agoit was statically linked. the issue was caused by another dynamically linked library referencing a different library at run time on a different linux distro than it was built on. even says as much in the article.