#19602: Fix library dependencies
-------------------------------------+-------------------------------------
Reporter: jdemeyer | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-6.10
Component: build | Resolution:
Keywords: | Merged in:
Authors: Jeroen Demeyer | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/jdemeyer/cython_depends | 7cd8477bdb031b87607c185c9f2c96fde277943d
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Description changed by jdemeyer:
Old description:
> After upgrading MPIR, not all modules depending on MPIR are rebuilt. The
> offending modules are
> {{{
> sage/ext/interrupt/interrupt.so
> sage/symbolic/substitution_map.so
> sage/symbolic/constants_c.so
> sage/symbolic/expression.so
> sage/symbolic/getitem.so
> }}}
>
> This is because dependencies on library files (e.g. `.so` files) are not
> picked up by `distutils`. We monkeypatch Cython to add the missing
> dependencies.
New description:
After upgrading MPIR, not all modules depending on MPIR are rebuilt. The
offending modules are
{{{
sage/ext/interrupt/interrupt.so
sage/symbolic/substitution_map.so
sage/symbolic/constants_c.so
sage/symbolic/expression.so
sage/symbolic/getitem.so
}}}
This is because dependencies on library files (e.g. `.so` files) are not
picked up by `distutils`. We monkeypatch Cython to add the missing
dependencies.
After applying this patch and running `sage -f sagelib`, the top of
`src/build/cythonized/sage/ext/interrupt/interrupt.c` looks like
{{{
/* Generated by Cython 0.23.3 */
/* BEGIN: Cython Metadata
{
"distutils": {
"depends": [
"/usr/local/src/sage-config/local/include/python2.7/Python.h",
"/usr/local/src/sage-config/src/sage/ext/interrupt/debug.h",
"/usr/local/src/sage-
config/src/sage/ext/interrupt/implementation.c",
"/usr/local/src/sage-config/src/sage/ext/interrupt/macros.h",
"/usr/local/src/sage-config/src/sage/ext/interrupt/pxi.h",
"/usr/local/src/sage-
config/src/sage/ext/interrupt/struct_signals.h",
"/usr/local/src/sage-config/src/setup.py",
"setup.py",
"/usr/local/src/sage-config/local/lib/libpari.so",
"/usr/local/src/sage-config/local/lib/libpari.a",
"/usr/local/src/sage-config/local/lib/libgmp.so",
"/usr/local/src/sage-config/local/lib/libgmp.a"
],
"extra_compile_args": [
"-fno-strict-aliasing",
"-w",
"-fno-tree-dominator-opts"
],
"include_dirs": [
"/usr/local/src/sage-config/local/include",
"/usr/local/src/sage-config/local/include/python2.7",
"/usr/local/src/sage-config/local/lib/python2.7/site-
packages/numpy/core/include",
"/usr/local/src/sage-config/src",
"/usr/local/src/sage-config/src/sage/ext",
"/usr/local/src/sage-config/src/build/cythonized",
"/usr/local/src/sage-config/src/build/cythonized/sage/ext"
],
"libraries": [
"pari",
"gmp"
],
"library_dirs": [
"/usr/local/src/sage-config/local/lib"
]
}
}
END: Cython Metadata */
}}}
Note the added dependency on `libgmp.so`.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/19602#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.