How to Get and Install MB-System

How to Get The MB-System Source Distribution

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 your@email.address literally means to enter your email address, and that many modern ftp clients do not require the "binary" command).

If anonymous ftp fails with an error message like: "Sorry no DNS entry" after the email address is entered as the anonymous password, this means that the internet address (also called IP address) of the computer in use is not known to the Lamont network to be legitimate. As a security measure, illegitimate IP addresses are not allowed to connect to the Lamont network. The Lamont ftp server attempts to look up or resolve IP addresses using the primary Domain Name Service (DNS) servers associated with the internet as a whole. So, this problem arises when computers use IP addresses are not properly registered with the global DNS servers. This situation sometimes exists for computers connecting through improperly configured firewalls or Network Address Translation (NAT) devices. Users facing this issue can often succeed by running ftp from a "better connected" server in their organization. Otherwise, they will need to contact their internet service provider or their network/computing support staff.

Access MB-System Source Version Control System
The MB-System source code is archived and managed using Subversion, an open source version control system. The MB-System and MB-Cookbook Subversion repositories can be browsed through a web interface at:
The MB-System repository is at:
The entire repository, or individual files, can be downloaded through this web interface. Clicking the the link above to bring up the WebSVN interface showing the most recent revision to the MB-System code base, along with a list of paths including "branches", "tags", and "trunk". To download the entire code base, click on the "Download" link to the right of "trunk". To browse the structure and download individual files, click on the "trunk" link. Users can build MB-System using this downloaded code base, but should note that the repository stores a number of files that are not included in the MB-System distributions.

Packaged MB-System Distributions

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 can be found at:

MB-System has also been packaged for MacOs X as part of Homebrew. If you have Homebrew installed, then MB-System and its prerequisites can be installed using these two commands:

brew tap homebrew/science
brew install mbsystem

The OSGeo-Live distribution includes MB-System. OSGeo-Live is a self-contained bootable DVD, USB thumb drive or Virtual Machine based on Xubuntu that includes a wide variety of open source geospatial software.

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:

The SIO-STS gpg signing key is

Thanks to Christian Ferreira for creating and distributing Poseidon Linux, to Kurt Schwehr for maintaing the Fink MB-System package, to Anthony Lukach for maintaining the Homebrew MB-System package, to Hamish Bowman for maintaining the OSGeo-Live MB-System package, and to Frank Delahoyde for maintaining the CentOS MB-System RPM distribution.

Other Required and Suggested Software and Data

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:

or for some older systems with feature-limited versions of tar, a combination of gunzip and 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 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.

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.

3. Run the make utility to build the software within the source distribution. 4. Run the make utility with the install option to install the software within the target location that was specified while running configure. This step copies the libraries, programs, scripts, manual pages, and web pages to the target destinations.

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:

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:

The complete list of configure's installation location options is:

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 configure command line options controlling the locations of prerequisites are:

The MB-System distribution includes the source code for the PROJ4 package. By default, the configure script seeks to link with a libproj built external to MB-System. Configure accepts the command --enable-bundledproj to build MB-System using the included PROJ4 source.

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.

Regardless of where the MB-System programs are installed, users must have that location included in their path environment variable in order to execute the programs from a command line. If MB-System has been installed using a package manager or installed manually into a common location (e.g. /usr/local/bin), the user path probably already references the needed location. If altering the user path variable is required, it can be 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.

The GMT version 5 plug-in modules mbcontour, mbswath, and mbgrdtiff are invoked as modules of the program gmt:

In order for GMT to successfully execute the MB-System modules, the location of the shared library containing these modules must be known to GMT. This can be accomplished by either setting the GMT_CUSTOM_LIBS parameter in the file gmt.conf that is part of the GMT installation, by setting this parameter in the file gmt.conf in the user's home directory, or by using the GMT module gmtset to modify this parameter in the current working directory. If, for instance, the mbgmt shared library has been installed in the file /usr/lib/libmbgmt.dylib, then the GMT_CUSTOM_LIBS parameter in a gmt.conf file can be set to:

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 (gv is recommended). The postscript plots can also be imported into proprietary tools like Adobe Illustrator, Adobe Acrobat, or Preview on MacOs X. If one is working in a Unix museum, pageview works well on Sun workstations running Solaris, and xpsview is great on on Silicon Graphics machines running Irix.

Mac OS X

Many MacOsX users have their NetCDF, GMT5, 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. The OTPS tide modeling software used by mbotps is not packaged in Fink, and so must be manually installed by a user if mbotps is to work correctly. Installation of MB-System on a Mac running MacOsX 10.9 or 10.10 will likely use a configure command that looks something like:

As shown here, 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. Here the current location of X11 header files and libraries must be specified because the new (to MacOsX) location of X11 in /opt is not known to the configure script. Another example is that 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:

Ubuntu Linux

For Ubuntu Linux 12.04.02LTS, the following use of the apt-get utility will install all of the MB-System prerequisites excepting OTPS:

Because GMT is installed in an unusual way on Ubuntu, it is necessary to augment the PATH and LD_LIBRARY_PATH environment variables by adding the following two lines to each user's ~/.bashrc file:

By default, the Ubuntu GMT installation is not known to pkg-config, and the installation points of the libraries and the header files must be specified:

Although the GMT installation does not include a pkg-config *.pc file, it is simple to construct one. On Ubuntu pkg-config looks in /usr/lib/pkgconfig, so one can put a file there called gmt.pc with the contents:

If the GMT installation has been augmented with a /usr/lib/pkgconfig/gmt.pc file so that pkg-config knows about GMT, then the configure call to install in /usr/local is just:

CentOs or Red Hat Linux

The package manager usually used on CentOs or Red Hat Linux systems is yum. To install all of the MB-System prerequisites use the command:

If the prerequisites have all been installed with yum and it is desired to install MB-System in /usr/local, then only a simple call to configure is required:

Last Updated: $Id: mbsystem_how_to_get.html 2225 2015-02-05 07:31:48Z caress $

Back to MB-System Home Page...