#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.

Reply via email to