Differences between revisions 3 and 18 (spanning 15 versions)
Revision 3 as of 2008-06-06 01:18:32
Size: 3771
Editor: BryanNewbold
Comment:
Revision 18 as of 2010-07-02 20:55:09
Size: 3054
Editor: PeterJeremy
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= 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:

 * [[/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 and 4.1.1 on FreeBSD 7.2 & 8.x]]
 * [[/sage-4.2|Sage 4.2 on FreeBSD 7.2 & 8.0]] - never completed. Do not use
 * [[/sage-4.3|Sage 4.3 on FreeBSD 8.0]] - never completed. Do not use
 * [[/sage-4.4.4|Sage 4.4.4 on FreeBSD 8.1]] - work in progress
Line 2: Line 17:
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): 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 4: Line 19:
 * 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)
 * 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)
Line 9: Line 24:
 1. Install emulators/linux_base
 1. As root
symbolically link /usr/bin/bash to /bin/bash in freeBSD (?)
 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 'sage' to set SAGE_ROOT to the full path of that directory
 1. Run /compat/linux/bin/bash ./sage
If /usr/bin/bash is symbolically linked to /bin/bash, the ./sage script can be run under FreeBSD and the executables will be run under linux correctly.

== Native Compilation ==
BryanNewbold is working on natively compiling sage on FreeBSD 6.x and 7.x; if you are working on this as well please make contact so we don't waste time! See["freebsd/compilation"]for technical details.
 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 20: Line 30:
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:
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:
Line 23: Line 34:
SAGE: Open Source Mathematics Software Sage: Open Source Mathematics Software
Line 34: Line 45:
# NOTE: Some additional packages are highly recommended for SAGE: # # NOTE: Some additional packages are highly recommended for Sage: #
Line 41: Line 52:
== Old Directions ==
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 2.9.1.1 build notes on FreeBSD 6.2 Release

 * install bash
 * install gtar
 * install gmake
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 itself relies on GNU tar features
 * cremona relies on GNU make features
 * SAGE_FORTRAN needs to be set to /usr/bin/f77
Build Fixes:

 * ATLAS: -melf_i386 needs to be removed from LDFLAGS in Make.inc
 * 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.

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