Dima Kogan <dko...@debian.org> writes: > Now let's say you have a user. They're writing a program that uses both > libg2o and Eigen. They're writing their own application, not intended to > go into Debian. So they build with -msse -mavx and all the other fun > stuff. THEIR weak copies of "aligned_malloc" and "aligned_free" are > different and incompatible with the copies in libg2o. And the > application is then likely to crash because at least something somewhere > will be allocated with one copy and deallocated with another.
Oy vey. It might help to make Eigen's symbols local to your shared library; to that end, I think it would work to feed the linker a version script reading something along the lines of { local: extern "C++" { Eigen::*; }; global: *; }; (or add such a local block to an existing version script). -- Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org) http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?a...@monk.mit.edu