[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Octave On MacOSX
From: |
Thomas Treichl |
Subject: |
Octave On MacOSX |
Date: |
Mon, 08 Jan 2007 17:28:36 +0100 |
User-agent: |
Thunderbird 1.5.0.9 (Macintosh/20061207) |
Hi,
on January, 4, 2007 GMT22:30 I sent an email to the help-list with the subject
"How To Minimalistically GNUify MacOSX For Building Octave From Scratch". Maybe
the spam-filter has eaten my email, but never mind about that, here is already
the first update of README.MacOSX.
The good thing about this update is, that we do already know that the step by
step procedure does work on a CoreDuo Mac as well as on a PPC G4 Mac if one
follows step by step the README.MacOSX file.
Also make sure, that you didn't mix up a lot of programs and libraries from
different Internet resources: One might have the idea to install "bison" from
the hmug.org and the "sed" from the fink.sourceforge.net and the "gfortran" from
the hpc.sourceforge.net site. This won't be working! This is like mixing a
Debian/RedHat/SuSE-distribution all together - this doesn't work very well too!
So what I mean is that you should decide which resource you want to use: if you
want to use fink.sourceforge.net then you need everything from fink, or use the
darwinports.com you take everything from darwinports etc. - or you take this
README.MacOSX file for building everything from scratch.
Ok, that's it, enjoy!
Thomas
How To Minimalistically GNUify MacOSX For Building Octave From Scratch
======================================================================
Author: address@hidden
Created: 2007.01.04
ChangeLog: -at the bottom of this file-
Binary-Releases:
================
If you are looking for an already build version of octave for MacOSX
then visit one of the following web pages that do provide a
binary-release of octave and follow the instructions for installing
octave from these web pages:
- http://fink.sourceforge.net/
- http://hpc.sourceforge.net/
- http://www.hmug.org/
Source-Compilation:
===================
Before building octave from scratch on a MacOSX platform you need to
install several GNU programs and libraries that are not shipped with
your Mac. This description will guide you through the procedure of
GNUifying your MacOSX step by step, so that you are then be able to
configure, compile, install and run the octave program.
If available then binary-releases of the necessary programs are
preferred, otherwise there is no other way as to configure, compile and
install other source-releases of these programs. The minimalistical
requirements for installing these programs on your Mac are that you
have at least MacOSX version 10.4.x running on your Mac (either
CoreDuo or PPC).
Step-By-Step Procedure:
=======================
( 1) Install the Xcode-Tools (ie. the gcc-suite, the c-library and
other tools) that are shipped with your computer from "MacOSX
Install Disc 1". Optionally you can get the latest version of
these tools from http://developer.apple.com/tools/download.
Follow the instructions from the "About Xcode Tools.pdf" file on
how to install these tools. Make sure that you have installed the
latest releases.
( 2) Install the X11 environment (ie. the Xserver application etc.)
that are shipped with your computer from "MacOSX Install Disc
1". The X11 environment can be installed via the "Optional
Installs.mpkg" program and is needed by the GnuPlot program
( 6). Make sure that you have installed the latest release.
Choose "Software-Update" in your menu bar to download and to
reinstall the latest versions.
( 3) Prepare a directory and the settings on your environment for
installing the following programs and libraries. Create the
directory /usr/local that is not present by default on your new
Mac and set up some variables in either your .profile file (if
you plan to use the Terminal.app from MacOSX for compiling
octave) or your .bashrc file (if you plan to use the terminal
application from your X11 environment). Do this the following
way:
sudo mkdir /usr/local
Edit .profile or .bashrc
export PATH=$PATH:/usr/local/bin:/usr/X11R6/bin
export CFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
( 4) Download and install a binary-release of a TeX environment for
your Mac in order to build the documentation for octave. One of
the binary-distributions that can be downloaded from Internet at
this time is the Mac-TeX environment that can be found there
http://tug.org/mactex. Follow the installation instructions
provided by this package.
( 5) Download and install a binary-release of a Fortran-compiler
environment for your Mac. One of the binary-distributions that
can be downloaded from Internet at this time is the GFortran
environment. It is hosted at http://www.macresearch.org. The
GFortran compiler is shipped in a binary-tar.gz file. Unpack and
install this program the following way:
tar -xzf gfortran-intel-bin.tar.gz
sudo cp -r ./usr/local/* /usr/local
Also read the troubleshooting part at the bottom of this file for
further details about which Fortran compiler to use for MacOSX.
( 6) Download and install a source-release of the program "sed"
because the one that is implied in MacOSX is out of date in order
to build octave. The source-release of the latest sed program can
be downloaded from Internet at
http://ftp.gnu.org/pub/gnu/sed. Unpack, configure, compile and
install this program the following way:
tar -xzf sed-X.x.x.tar.gz
cd sed-X.x.x
./configure --prefix=/usr/local/ --with-included-regex
--with-included-gettext
make && sudo make install
and then move your old /usr/bin/sed program to another name, eg.:
sudo mv /usr/bin/sed /usr/bin/__sed
Also read the troubleshooting part at the bottom of this file for
further details if an error occurs at compilation.
( 7) Download and install a source-release of the program "bison"
because the one that is implied in MacOSX is out of date in order
to build octave. The source-release of the latest bison program
can be downloaded from Internet at
http://ftp.gnu.org/pub/gnu/bison. Unpack, configure, compile and
install this program the following way:
tar -xzf bison-X.x.tar.gz
cd bison-X.x
./configure --prefix=/usr/local/
make && sudo make install
and then move your old /usr/bin/bison program to another name, eg.:
sudo mv /usr/bin/bison /usr/bin/__bison
( 8) Download and install a source-release of the program "gawk". Gawk
is not included in MacOSX (the program "awk" is included in
MacOSX but "gawk" is needed to compile octave). The
source-version of the latest gawk-release can be downloaded from
Internet at http://ftp.gnu.org/pub/gnu/gawk. Unpack, configure,
compile and install this program the following way:
tar -xzf bison-X.x.x.tar.gz
cd bison-X.x.x
./configure --prefix=/usr/local/
make && sudo make install
( 9) Download and install a source-release of the "readline"
library. There is already a readline-library included in MacOSX
but by now I do not know how to include the installed version in
the compilation procedure of octave. The source-version of the
latest readline-release can be downloaded from Internet at
http://ftp.gnu.org/pub/gnu/readline. Unpack, configure, compile
and install this program the following way:
tar -xzf readline-X.x.tar.gz
cd readline-X.x
./configure --prefix=/usr/local/ --enable-shared
make && sudo make install
(10) Download and install a source-release of the program
"gnuplot". The source-release of the latest gnuplot program can
be downloaded from Internet at http://www.gnuplot.info. Unpack,
configure, compile and install this program the following way:
tar -xzf gnuplot-X.x.x.tar.gz
cd gnuplot-X.x.x
./configure --prefix=/usr/local/
make && sudo make install
(**) You are already done setting up your MacOSX for configuring,
building, installing and running the minimalistic version of
octave. If you want full octave functionality you need to
download and install more source packages before building octave,
read the EXTENSIONS part of this file at the bottom.
(11) Download and install a source-release of the latest "octave"
program. The latest release can always be found at
http://www.octave.org. Unpack, configure, compile and install
this program the following way:
tar -xzf octave-X.x.x.tar.gz
cd octave-X.x.x
./configure --prefix=/usr/local/ --enable-shared
make && make check && sudo make install
Also read the troubleshooting part at the bottom of this file for
further details if an error occurs at compilation.
(12) Enjoy using octave!
EXTENSIONS:
===========
For using the full functionality of octave some more source-packages
need to be installed on your Mac.
(+A) Download and install a source-release of the "pcre"
library. There is no pcre-library included in MacOSX. The
source-version of the latest pcre-release can be downloaded from
Internet at http://www.pcre.org. Unpack, configure, compile and
install this program by following the installation
instructions by this package.
(+B) Download and install a source-release of the "hdf5"
library. There is no hdf5-library included in MacOSX. The
source-version of the latest hdf5-release can be downloaded from
Internet at http://www.hdfgroup.org. Unpack, configure, compile
and install this program by following the installation
instructions by this package.
(+C) Download and install a source-release of the "SuiteSparse"
library. There is no SuiteSparse-library included in MacOSX. The
source-version of the latest release can be downloaded from
Internet at
http://www.cise.ufl.edu/research/sparse/SuiteSparse. Unpack,
configure, compile and install by following the installation
instructions by this package.
TROUBLESHOOTING:
================
( 5) When compiling octave there may occur an error eg.
ld: Undefined symbols:
restFP
saveFP
/usr/bin/libtool: internal link edit command failed
This is a known MacOSX problem for over years now and may occur if
you have multiply version of Fortran compilers installed on your
system. GFortran is one of the known Fortran compilers that do
work very well with the gcc-suite that is shipped with your
computer. When running "./configure" in your octave path then make
sure that GFortran is the one and only Fortran compiler on your
system.
( 6) When installing sed there may occur an error that sed cannot be
build. This is a known problem, you first need a working sed (the
one implied in MacOSX is too old) to build another sed for your
system, so do the following:
(a) Enter the sed directory and edit config.h ca. line 14:
#define ENABLE_NLS 0
(b) Call ./bootstrap.sh
(c) sudo mv /usr/bin/sed /usr/bin/__sed
(d) sudo ln -s /Users/YourHOME/sed-X.x.x/sed/sed /usr/bin/sed
(e) ./configure --prefix=/usr/local/ --with-included-regex
--with-included-gettext
(f) make && sudo make install
(g) sudo rm /usr/bin/sed
(11) On PPC Macs it seems like you need to add another linker option
that will not be added by default. If you see an error like
ld: Undefined symbols:
_do_fio
_e_wsfe...
you should better do at step ( 3) for also taking the
libg2c.dylib library at linking time and that the linker finds
the desired functions:
export LDFLAGS="-L/usr/local/lib -lg2c"
ChangeLog of this README.MacOSX file:
=====================================
2007.01.07 Thomas Treichl
It is now possible to compile octave also on PPC machines. The
README.MacOSX file has been updated.
2007.01.08 Thomas Treichl
Added (11) in Troubleshooting.
- Octave On MacOSX,
Thomas Treichl <=