#3924: On OS X, build Sage as a framework build
--------------------+-------------------------------------------------------
 Reporter:  dphilp  |       Owner:  jkantor      
     Type:  task    |      Status:  new          
 Priority:  minor   |   Milestone:  sage-wishlist
Component:  build   |    Keywords:  framework    
 Reviewer:          |      Author:  prabhu       
   Merged:          |  
--------------------+-------------------------------------------------------
Changes (by newvalueoldvalue):

 * cc: prabhu (added)
  * author:  => prabhu


Old description:

> I'm trying to build sage on mac with a shareable python library.  The
> current version, being built without the --enable-framework option,
> cannot be linked to other libraries because of the environ variable.  I
> think getting this working would be useful, and I would like eventually
> to see it the default build on OS X.
>
> The following recipe works, though it is clearly a defective approach:
>
> 1. build vanilla sage from source
>
> 2. edit the spkg/standard/python-2.5....spkg/spkg-install file to include
> the --enable-framework=SAGE_ROOT/local/Frameworks
>
> 3. rebuild sage.  This creates SAGE_ROOT/Frameworks/Python.framework
>
> 4. all doctests pass, and I can link to libpython from boost python
>
> Ideally, the following steps would work:
>
> 1. edit the spkg/standard/python-2.5....spkg/spkg-install file to include
> the --enable-framework= SAGE_ROOT/local/Frameworks
>
> 2. build sage.
>
> It doesn't work so simply.  I've managed to help it along a few steps,
> but am stuck with cvxopt
>
> 1. The build of mercurial crashes.  When it crashes, create two symlinks:
>
> 1a. local/lib/python2.5
> ---> local/Frameworks/Python.framework/Versions/Current/lib/python2.5/
>
> 1b. local/include/python2.5
> --->
> local/Frameworks/Python.framework/Versions/Current/include/python2.5/
>
> 1c. Restart make
>
> 2. The build of the sage package crashes, with a similar error.
>
> 2a. Delete the busted symlink at
> local/Frameworks/Python.framework/Versions/Current/lib/python2.5/site-
> packages/sage
>
> 2b. Create a symlink:
> local/Frameworks/Python.framework/Versions/Current/lib/python2.5/site-
> packages/sage
> --->devel/sage/build/sage
>
> 2c. Delete half-built files, restart make.
>
> 3. The build of cvxopt crashes, with a duplicate symbol error.  I'm not
> in a position to debug this one.
>
> Any attention appreciated!  For my part, I can muddle along with the
> duplicate builds but I would like to get this working.
>
> D

New description:

 Build Python as a framework build on OS X.

 spkg up at

 http://sage.math.washington.edu/home/wstein/patches/prabhu/

 This needs thorough testing.  In particular, try building sage from
 scratch with this spkg.  Also, worry about upgrading from one sage version
 to another.

 Anyway, ASAP I think this should be made the standard version of python
 for OS X, so that we can get matplotlib + full native gui support by
 default.  Plus, we should provide an optional spkg that makes it trivial
 to make nice native GUI apps on OS X (??).

--

Comment:

 This was the original mess of a ticket description:

 I'm trying to build sage on mac with a shareable python library.  The
 current version, being built without the --enable-framework option, cannot
 be linked to other libraries because of the environ variable.  I think
 getting this working would be useful, and I would like eventually to see
 it the default build on OS X.

 The following recipe works, though it is clearly a defective approach:

 1. build vanilla sage from source

 2. edit the spkg/standard/python-2.5....spkg/spkg-install file to include
 the --enable-framework=SAGE_ROOT/local/Frameworks

 3. rebuild sage.  This creates SAGE_ROOT/Frameworks/Python.framework

 4. all doctests pass, and I can link to libpython from boost python

 Ideally, the following steps would work:

 1. edit the spkg/standard/python-2.5....spkg/spkg-install file to include
 the --enable-framework= SAGE_ROOT/local/Frameworks

 2. build sage.

 It doesn't work so simply.  I've managed to help it along a few steps, but
 am stuck with cvxopt

 1. The build of mercurial crashes.  When it crashes, create two symlinks:

 1a. local/lib/python2.5
 ---> local/Frameworks/Python.framework/Versions/Current/lib/python2.5/

 1b. local/include/python2.5
 ---> local/Frameworks/Python.framework/Versions/Current/include/python2.5/

 1c. Restart make

 2. The build of the sage package crashes, with a similar error.

 2a. Delete the busted symlink at
 local/Frameworks/Python.framework/Versions/Current/lib/python2.5/site-
 packages/sage

 2b. Create a symlink:
 local/Frameworks/Python.framework/Versions/Current/lib/python2.5/site-
 packages/sage
 --->devel/sage/build/sage

 2c. Delete half-built files, restart make.

 3. The build of cvxopt crashes, with a duplicate symbol error.  I'm not in
 a position to debug this one.

 Any attention appreciated!  For my part, I can muddle along with the
 duplicate builds but I would like to get this working.

 D

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3924#comment:13>
Sage <http://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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to