ITK
ITK copied to clipboard
ITK conflict with lp_solve
ITK-5.3.0 installs lib/liblpsolve55.so that is normally installed by lp_solve.
The user complains.
Is lp_solve bundled with ITK?
If yes, it isn't bundled correctly. You should never install libraries from bundled packages. Instead, you should only build a static library and use it internally.
How to unbundle lp_solve?
I guess you're compiling ITK with Module_RTK=ON
? RTK indeed bundles lp_solve
, see the corresponding CMakeLists.txt. The way it's done can probably be improved. Are all third party libraries static in ITK?
ITK installs lpsolve as shared library. I don't see any other third party libraries in the plist.
Maybe someone more expect than me can pitch in. I don't even know what's a plist and I'm surprised that there is no other third party library. Should the library be renamed or statically compiled? BTW, I'm surprised that RTK is included in the default InsightToolkit package.
plist is FreeBSD port's installed files list. RTK was probably enabled in addition to the default configuration.
Would USE_SYSTEM_LPSOLVE
mechanism solve the issue?
USE_SYSTEM_LPSOLVE
should work if implemented.
@N-Dekker
Hi Niels,
Do you know if the problem of conflicting lp_solve being installed by RTK is solved in the latest ITK's RC?
Thank you, Yuri
Isn't this a case were ITK should be mangling the symbols to prevent system conflicts? (a la HDF5?)
They should either mangle the symbols and rename the library, or just use the external lp_solve if possible.
I corrected the FreeBSD port science/InsightToolkit so that there is no more conflict on FreeBSD: https://cgit.freebsd.org/ports/commit/science?id=95e83829519a47602dbebfc270bce61551449d33