Is it expected that ARB_LIBRARY is set to 'arb' (as opposed to
'flint-arb') on a Debian box where Sage links against the system
arb?
The linker complains about not finding -larb when I try to build
an external cython module that uses sage.rings.complex_arb. And
indeed, it should have looked for -lflint-arb:
~/co/sage:develop$ ldd /home/marc/co/sage/local/lib/python3.7/site-
packages/sage/rings/
complex_arb.cpython-37m-x86_64-linux-gnu.so | grep arb
libflint-arb.so.2 => /lib/x86_64-linux-gnu/libflint-arb.so.2 (0x00007fbf0c11b000)
My setup.py calls cythonize(..., aliases=sage.env.cython_aliases().
I thought this should be enough to make it resolve the references to
ARB_LIBRARY in acb.pxd to the correct library. However,
cython_aliases() doesn't return what I'd expect:
~/co/sage:develop$ sage --nodotsage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.1.beta7, Release Date: 2020-03-08 │
│ Using Python 3.7.3. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage: sage.env.cython_aliases()['ARB_LIBRARY']
'arb'
This is with yesterday's beta. I don't remember seeing this issue
before, but I may not have rebuilt this module with every release.
Am I doing something wrong, or is this a bug?
Thanks a lot,
--
Marc