Changes between Initial Version and Version 1 of Ticket #22756


Ignore:
Timestamp:
04/05/17 02:56:59 (3 years ago)
Author:
jhpalmieri
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #22756 – Description

    initial v1  
    1 On OS X:
     1On OS X, Python3 sometimes fails to build correctly. I think it depends on whether Python2 is built first or not. Even if it seems to build correctly, then the `_scproxy` module is broken.
     2
     3Examples (all start with `make distclean`):
     4
     5- `./sage -i python3`. Then `python3` works, but the `_scproxy` and `_lzma` modules fail to build. The error for `_lzma` is
     6{{{
     7/Users/palmieri/Desktop/Sage_stuff/sage_builds/TESTING/sage-8.0.beta0/local/var/tmp/sage/build/python3-3.5.1/src/Modules/_lzmamodule.c:19:18: fatal error: lzma.h: No such file or directory
     8}}}
     9 We can fix this by making `xz` a dependency. Is it important? `xz` doesn't take long to build and doesn't have any dependencies of its own, so why not?
     10
     11- `./sage -i python2; ./sage -i python3`: then Python3 fails with the error
    212{{{
    313$ sage --sh
     
    1222Abort trap: 6
    1323}}}
     24
     25- if we build Python3 with `clang`, the way we do with Python2, then as long as we haven't build Python2 first, it works and `_scproxy` builds properly. `_lzma` doesn't, but we can fix that.
     26
     27- if we build Python3 with `clang` but we build Python2 first, then we get the same error as above.
     28
     29So I propose that we build Python3 with `clang` and we make `xz` a dependency. I don't know why the Python2 and Python3 builds interfere with each other. We could make `python3` a dependency of `python2`, to force `python3` to be built first, but that feels like treating the symptom, not the problem.