Differences between revisions 2 and 3
Revision 2 as of 2008-02-25 23:37:39
Size: 1066
Editor: jason
Comment:
Revision 3 as of 2008-06-06 01:18:32
Size: 3771
Editor: BryanNewbold
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== 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
 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.

== 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 #
# #
#####################################################################
}}}
== Old Directions ==
Line 8: Line 49:

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
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
Line 16: Line 54:
Line 20: Line 57:

* 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. 
 * 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.

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

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.