Open mahrud opened 1 month ago
Am I correct in assuming that M2 was linked with mpsolve as a static instead of dynamic library for this build?
This is a long standing issue -- see also #2919. I should probably just use a different example for foreignSymbol
.
mpsolve was built by our build script and linked statically, but there are shared libraries available:
$ find /usr/lib/x86_64-linux-gnu/libmps*
/usr/lib/x86_64-linux-gnu/libmps.so.3
/usr/lib/x86_64-linux-gnu/libmps.so.3.0.1
libmps-dev is not installed, but that shouldn't be required, right?
It is required for the unversioned libmps.so
.
But the issue is that the 2-argument foreignSymbol
looks for symbols in the dynamic libraries that M2 is already linked against. And if we link against mpsolve statically, then it won't find cplx_i
.
Oh, I see.
It is required for the unversioned
libmps.so
.
I did make a symlink of a libmps.so.3
to .local/lib/libmps.so
!
I'm happy to either close this or keep it open until you use a different example for foreignSymbol
. What is a library that we're always dynamically linked with? I can't think of an obvious choice.
Let's keep it open. I couldn't think of a better example back when I wrote this documentation, but there certainly might be one.
(Not trying to rush you, I'm just going around assigning issues to people just to figure out which issues have no ownership)
This is happening on Debian 12.6:
Here is the library file:
cc: @d-torrance