The source code for MB-System is available as a compressed tar archive by anonymous ftp to the Lamont-Doherty Earth Observatory of Columbia University. This archive file is about 3 megabytes in size and, depending on the speed of your internet connection, may take a few minutes to transfer.
Click here to ftp the current MB-System release as a compressed tar archive.
Click here to get point-and-click ftp access to all of the MB-System related files available from Lamont (these may include data examples and beta distributions of MB-System ).
If access through the above links fails, try running ftp from a terminal shell. The following commands represent a typical anonymous ftp session (note that firstname.lastname@example.org literally means to enter your email address, and that many modern ftp clients do not require the "binary" command).
The Scripps Institution of Oceanography's Shipboard Technical Support group maintains a repository of open source software RPM distributions for Red Hat Enterprise Linux and CentOS Linux. This repository includes both source and binary distributions of MB-System, GMT, and netCDF that can be accessed using the yum utility. The MB-System RPMs require the GMT and netCDF RPMs, but have no other external dependencies. This repository can be found at:
MB-System is included in Poseidon Linux, the "Scientific GNU/Linux". Poseidon is an Ubuntu Linux based distribution including a selection of open source software packages intended to support scientific research. In particular, it offers several specific tools in the areas of GIS, 3D Visualization, Mathematics, Statistics and several other fields of research.
MB-System has been packaged for MacOS X as part of the Fink Project. The MB-System fink package is maintained by Kurt Schwehr of CCOM/JHC UNH.
MB-System requires a number of other software packages and databases to be fully functional. These are:
MB-System produces Postscript based graphics. Most current Unix operating systems provide a program which serves as a screen-based Postscript viewer. If you do not have a Postscript viewer, one option is to obtain one of several Ghostscript-based packages from the Free Software Foundation.
Users of MacOs X should note that many of the above packages can be painlessly installed using the fink package available from the Fink Project.
How to Unpack an MB-System Source Code Distribution
The MB-System source code is extracted from the distribution using the tar utility:
tar xvzf MB-System.tar.gz
or for some older systems with feature-limited versions of tar, a combination of gunzip and tar:
gunzip MB-System.tar.gz tar xvf MB-System.tar
This will create a directory called (for the 5.4.2035 distribution):
In order to build and install MB-System from an interactive shell, you need to change your current directory to the distribution:
How to Install MB-System Using the Configure Script
The basic steps for building MB-System using the configure script are:
1. Move to the top of the MB-System distribution directory:
2. Run the configure script to generate the Makefile files throughout the distribution directory structure. The command line options for configure are discussed below.
The configure script is intended to discern the enviroment, locate prerequisite packages, and construct the makefiles with a minimum of user intervention. In practice, users generally need to set at least some options when using the configure script in order to successfully build, install, and run MB-System. If NetCDF and GMT installations cannot be located, MB-System cannot be built. If FFTW3, Motif, or OpenGL cannot be found MB-System will be built, but without the applications that depend on these packages.
Depending on how user permissions are set on your system and where the package is to be installed, it may be necessary to execute some or all of the above commands with superuser privileges. On older styles of Unix and Linux, this was typically accomplished by using the su command to become root, or superuser, a step that requires knowing the root password for the system. Following a successful invocation of su in a command shell, all commands have superuser privileges. On MacOsX and other "modern" flavors of Unix and Linux, it's more common to use the sudo command in front of other commands in order to execute them with superuser privileges. An administrator password is required for the first instance of sudo, but not for subsequent instances (at least for a period of time, typically five minutes). In this case, the commands become:
sudo ./configure sudo make sudo make install
The default destination is /usr/local, and so one should find the MB-System executable programs and scripts in /usr/local/bin, the shared libraries in /usr/local/lib, the manual pages in /usr/local/man, and the projection and Levitus databases accessed by MB-System in /usr/local/share/mbsystem. However, one can control the installation destination of the configure script on the command line by using a "--prefix" argument. For example, to install MB-System into /Users/caress/sandbox/mbsystem, you can use:
sudo ./configure \ --prefix=/Users/caress/sandbox/mbsystem
MB-System depends on librarys from a number of different packages, including NetCDF, GMT, FFTW3, X11, and Motif. Sometimes a user will have more than one installation of a package available, and specifying which is used is desirable. Also, unfortunately the configure script does not always successfully find all needed packages. Consequently, the configure script allows users to set the locations on the command line when necessary. The complete set of configure's command line options is:
--prefix=install Location for mbsystem (/usr/local/mbsystem) --with-netcdf-lib Location of NetCDF libs --with-netcdf-include Location of NetCDF headers --with-gmt-lib Location of GMT libs --with-gmt-include Location of GMT headers --with-fftw-lib Location of FFTW3 libs (optional) --with-fftw-include Location of FFTW3 headers (optional) --with-motif-lib Location of Motif libs (optional) --with-motif-include Location of Motif headers (optional) --with-opengl-lib Location of OpenGL libs (optional) --with-opengl-include Location of OpenGL headers (optional) --without-gsf Build without support for the GSF format (optional)
Note that specification of FFTW3, Motif, and OpenGL is optional. If the configure script does not find these packages and the user does not specify their locations, then some MB-System programs will not be built. Lack of FFTW3 means that mbsegypsd is not built. No OpenGL results in the visualization programs mbgrdviz and mbeditviz not being built. Lack of Motif means that no graphical programs of any type are built.
Many MacOsX users have their NetCDF, GMT, FFTW3, and OpenMotif installations through the Fink package manager, which installs packages in /sw. The configure script fails to find packages in /sw, and so the user must explicitly specify those packages. An installation of MB-System into /usr/local on a Mac using Fink may use a configure command that looks something like:
sudo ./configure \ --prefix=/usr/local \ --with-netcdf-include=/sw/include \ --with-netcdf-lib=/sw/lib \ --with-gmt-include=/sw/include \ --with-gmt-lib=/sw/lib \ --with-fftw-include=/sw/include \ --with-fftw-lib=/sw/lib \ --with-motif-include=/sw/include \ --with-motif-lib=/sw/lib
One can also add to the commands seen by the compiler ("CFLAGS") and linker ("LDFLAGS") if desired or necessary by prefacing the configure command with arguments setting the environment variables CFLAGS and LDFLAGS. For instance, in order to compile MB-System for user with a debugger, all compiler commands must include the "-g" argument. So, to enable use of the gdb debugger, the configure command becomes:
CFLAGS="-g" \ sudo ./configure \ --prefix=/usr/local \ --with-netcdf-include=/sw/include \ --with-netcdf-lib=/sw/lib \ --with-gmt-include=/sw/include \ --with-gmt-lib=/sw/lib \ --with-fftw-include=/sw/include \ --with-fftw-lib=/sw/lib \ --with-motif-include=/sw/include \ --with-motif-lib=/sw/lib
Again, the current configure script is not always successful at resolving the required compiler and linker flags. On MacOsX 10.8, configure fails to find the X11 windows system and GDAL, a library required by the newest versions of GMT. So, the complete configure command required to build MB-System and install it into /usr/local on a Mac running MacOsX 10.8 is:
CFLAGS="-g -I/usr/X11R6/include -L/usr/X11R6/lib" LDFLAGS="-L/sw/lib -lgdal" \ sudo ./configure \ --prefix=/usr/local \ --with-netcdf-include=/sw/include \ --with-netcdf-lib=/sw/lib \ --with-gmt-include=/sw/include \ --with-gmt-lib=/sw/lib \ --with-fftw-include=/sw/include \ --with-fftw-lib=/sw/lib \ --with-motif-include=/sw/include \ --with-motif-lib=/sw/lib
The configure script has been generated using the autoconf package. The current configure script does not resolve all of the flags and locations needed to build MB-System on all platforms, but does allow for flexible installation and generation and use of shared libraries without requiring interactive editing. These improvements make MB-System distributions much more amenable to inclusion in package manager systems like Debian and Fink. We hope to improve the configure script so that less intervention is required.
How to Install MB-System Using the Install_makefiles Script
For over two decades, the only means to build MB-System distributions was a crude Perl script called install_makefiles that needed to be edited to set the operating system and the locations of prerequisite packages. Although a autoconf-type configure script is now provided, as described above, the old install_makefiles script is still included in the MB-System distribution and remains an alternative means to build and install MB-System.
In order to use this alternative build system, you must edit the perl script mbsystem/install_makefiles, and set a number of parameters to reflect the system architecture, the location of the installation, and the locations of certain required libraries. This script will read template makefiles in the MB-System source directories and create makefiles with the correct dependencies, compile flags, and link flags. The important parameters to be set in install_makefiles are listed below. The install_makefiles script includes comments suggesting parameters to use for many common computer systems.
These parameters must be set for all installations:
These two parameters are required to build the graphical tools mbedit, mbnavedit, mbvelocitytool, mbnavadjust, mbgrdviz, and mbeditviz. If these parameters are not both set, no graphical tools will be built.
This parameter must be set to build the openGL tools mbgrdviz and mbeditviz:
This parameter must be set to build the sonogram calculation program mbsegypsd:
This parameter must be set for the tidal modeling program mbotps to work:
This optional parameter can be used to specify a non-default C compiler:
These optional parameters can be used to specify linking with an independent installation of the PROJ4 library. In this case, the PROJ4 library included with MB-System will not be built.
These optional parameters can be used to specify linking with an independent installation of the GSF library. In this case, the GSF library included with MB-System will not be built.
To execute install_makefiles, do the following:
% cd mbsystem-5.3.1955
Because install_makefiles is a perl script, the executable perl must be available in the installer's path. Once install_makefiles has been correctly configured and run, give the command "make all" to generate the executable programs:
% make all
The make command will descend recursively down through the directory structure, compiling source files, linking object files, and copying executables and manual pages to the appropriate directories. The executables will be placed in mbsystem-5.1.3/bin, the libraries in mbsystem-5.1.3/lib, and the manual pages in mbsystem-5.1.3/man/man1.
Naturally, in order for users to use the MB-System utilities, the directory containing the executables must be included in their path. Altering the user path variable is generally accomplished by editing the initialization files hidden in the user's home directory. Which files need to be edited depends on which command line shell is being used. If the user works with csh, then the .cshrc and .login files need to be changed. If the shell is bash, then the .bashrc and .profile files must be altered. See the manual pages for the relevant shell program to determine how to set the user environment. The executable perl must also be available in the user's path for most of the macros to work.
Most users will also wish to specify which program they generally use to view Postscript plots on their screen. This parameter is set with the mbdefaults program (see the mbdefaults manual page for details). Popular open source options for Postscript display include ghostview and gv. The postscript plots can also be imported into proprietary tools like Adobe Illustrator, Adobe Acrobat, or Preview on MacOs X. On old Unix machines, pageview worked well on Sun workstations running Solaris, and xpsview on on Silicon Graphics machines running Irix.
Last Updated: $Id: mbsystem_how_to_get.html 2136 2013-08-08 21:41:59Z caress $
Back to MB-System Home Page...