Differences between revisions 1 and 11 (spanning 10 versions)
Revision 1 as of 2008-02-25 20:19:52
Size: 1066
Comment: initial version
Revision 11 as of 2009-06-26 20:59:14
Size: 2827
Editor: PeterJeremy
Comment: Add page for sage 4.1 experiences
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
The below is a little old (while I am posting this we are working on 2.10.3), but it should get people up to speed. If you have fixes for additional issues please open a trac ticket, bonus points for patches. = Sage Port to FreeBSD 6.x, 7.x and 8.x =
Line 3: Line 3:
Sage 2.9.1.1 build notes on FreeBSD 6.2 Release == Native Port ==
Line 5: Line 5:
 * install bash
 * install gtar
 * install gmake
Since Sage 3.2 it is possible to build Sage with a few modifications and get it to start up, but there are problems with java for example, so not all doctests pass. Specific build notes:
Line 9: Line 7:
link bash to /bin,
link gtar as /bin/tar, i.e. before the bsd tar in /usr/bin
link gmake as /bin/gmake, i.e. before the bsd make in /usr/bin
 * [[/sage-2.9.1.1|Sage 2.9.1.1 on FreeBSD 6.3]]
 * [[/sage-2.10.2|Sage 2.10.2 on FreeBSD 6.3]]
 * [[/sage-3.2|Sage 3.2 on FreeBSD 7.0]]
 * [[/sage-3.4|Sage 3.4 on FreeBSD 7.2 & 8.x]]
 * [[/sage-4.1|Sage 4.1 on FreeBSD 7.2 & 8.x]]
Line 13: Line 13:
 * Sage itself relies on GNU tar features
 * cremona relies on GNU make features
 * SAGE_FORTRAN needs to be set to /use/bin/f77
== Linux Emulation ==
Precompiled Sage binaries will run under linux emulation on FreeBSD with some caveats; the biggest issue is a noted error when trying to render plain 2-D plots. Otherwise, both the command line and notebook interfaces seem to work, including raytracing with[[Tachyon]]. Tested configurations (plotting works on none, all other features "seem" to work):
Line 17: Line 16:
Build Fixes:  * sage-2.10.2-linux-32bit-debian-i686-Linux on FreeBSD 6.3-RELEASE with {{{linux_base-fc-4_10}}} (fedora core 4.10)
 * sage-3.0-debian32-intel-i686-Linux on FreeBSD 6.3-RELEASE with {{{linux_base-fc-4_10}}} (fedora core 4.10)
Here are basic instructions:
Line 19: Line 20:
 * ATLAS: -melf_i386 needs to be removed from LDFLAGS in Make.inc  1. Make sure the linux kernel module was compiled into FreeBSD and is loaded with kldstat; linprocfs does not seem to be required
 1. Install {{{emulators/linux_base}}} (using ports system, {{{pkg_add -r}}}, etc)
 1. Download and extract the latest sage binary distribution (eg, {{{sage-2.10.2-linux-32bit-debian-i686-Linux.tar.gz}}})
 1. Enter extracted directory and edit the script {{{sage}}} to set {{{SAGE_ROOT}}} to the full path of that directory
 1. Run {{{/compat/linux/bin/bash ./sage}}}
Line 21: Line 26:
 * Singular: cf_factor: wchar problems: <cwchar> uncomment line 249, 258, 259: using ::[wcstold|wcstoll|wcstoul] in case you use gcc 3.4. This somehow relates to the defines _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC and _GLICXX_C99_DYNAMIC. It seems to be ultimately caused by including iostream twice or maybe "iostream and iostream.h". "using namespace std" might also play a role. == Official Port ==

The[[http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook|Porter's Handbook]]is the place to look for porting directions It may make sense to have both a native math/sage-math and a linux math/linux-sage-math port, at least for a while? A linux port would be more reliable and easier to keep up to date. Here is a possible pkg-descr:

{{{
Sage: Open Source Mathematics Software
--------------------------------------
Creating a viable free open source alternative to
Magma, Maple, Mathematica, and Matlab
WWW: http://sagemath.org/
}}}
and a possible pkg-descr:

{{{
#####################################################################
# #
# NOTE: Some additional packages are highly recommended for Sage: #
# #
# #
# latex (print/latex): for type setting #
# #
#####################################################################
}}}

Sage Port to FreeBSD 6.x, 7.x and 8.x

Native Port

Since Sage 3.2 it is possible to build Sage with a few modifications and get it to start up, but there are problems with java for example, so not all doctests pass. Specific build notes:

Linux Emulation

Precompiled Sage binaries will run under linux emulation on FreeBSD with some caveats; the biggest issue is a noted error when trying to render plain 2-D plots. Otherwise, both the command line and notebook interfaces seem to work, including raytracing withTachyon. Tested configurations (plotting works on none, all other features "seem" to work):

  • sage-2.10.2-linux-32bit-debian-i686-Linux on FreeBSD 6.3-RELEASE with linux_base-fc-4_10 (fedora core 4.10)

  • sage-3.0-debian32-intel-i686-Linux on FreeBSD 6.3-RELEASE with linux_base-fc-4_10 (fedora core 4.10)

Here are basic instructions:

  1. Make sure the linux kernel module was compiled into FreeBSD and is loaded with kldstat; linprocfs does not seem to be required
  2. Install emulators/linux_base (using ports system, pkg_add -r, etc)

  3. Download and extract the latest sage binary distribution (eg, sage-2.10.2-linux-32bit-debian-i686-Linux.tar.gz)

  4. Enter extracted directory and edit the script sage to set SAGE_ROOT to the full path of that directory

  5. Run /compat/linux/bin/bash ./sage

Official Port

ThePorter's Handbookis the place to look for porting directions It may make sense to have both a native math/sage-math and a linux math/linux-sage-math port, at least for a while? A linux port would be more reliable and easier to keep up to date. Here is a possible pkg-descr:

Sage: Open Source Mathematics Software
--------------------------------------
Creating a viable free open source alternative to
Magma, Maple, Mathematica, and Matlab
WWW: http://sagemath.org/

and a possible pkg-descr:

#####################################################################
#                                                                   #
# NOTE: Some additional packages are highly recommended for Sage:   #
#                                                                   #
#                                                                   #
#   latex (print/latex): for type setting                           #
#                                                                   #
#####################################################################