Re: How to build compatible packages that use Eigen?
Dima Kogan <dkogan@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/?amu@monk.mit.edu
Reply to: