Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2008-02-25 23:37:39
Size: 1066
Editor: jason
Comment:
Revision 4 as of 2008-06-06 01:32:13
Size: 2692
Editor: BryanNewbold
Comment:
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. == 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 3: Line 4:
Sage 2.9.1.1 build notes on FreeBSD 6.2 Release  * 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 5: Line 8:
 * install bash
 * install gtar
 * install gmake
 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
 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.
Line 9: Line 16:
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
== 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.
Line 13: Line 19:
 * Sage itself relies on GNU tar features
 * cremona relies on GNU make features
 * SAGE_FORTRAN needs to be set to /usr/bin/f77
== 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:
Line 17: Line 22:
Build Fixes: {{{
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:
Line 19: Line 31:
 * 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.
{{{
#####################################################################
# #
# NOTE: Some additional packages are highly recommended for SAGE: #
# #
# #
# latex (print/latex): for type setting #
# #
#####################################################################
}}}

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):

  • 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
  3. As root symbolically link /usr/bin/bash to /bin/bash in freeBSD (?)
  4. Download and extract the latest sage binary distribution (eg, sage-2.10.2-linux-32bit-debian-i686-Linux.tar.gz)
  5. Enter extracted directory and edit 'sage' to set SAGE_ROOT to the full path of that directory
  6. 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.

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