MIT Athena Computing Environment: What Runs Where: Programming Libraries Detail
Keywords: athena, what runs where, athena help, programming libraries

What Runs Where
| Major Applications |
### Full Table:
| Help/Information Screen Accessories Communication Text Software Graphics Software Audio Software Numerical/Math Soft Languages/Debuggers Programming Libraries Simulation & Modeling Courseware Miscellaneous Utilities |
Help
| What's new? Tips for Using Athena Software Academic Computing locker configuration Web browser Java plugin issues Note on changing window managers |
| # What Runs Where on Athena: Programming Libraries
| Graphics Libraries |
Title and description: OpenDX Description: 3d data visualization and exploration system. Supports generation of standalone binaries and Java applets that can be run from a Web server To run: athena% add opendx athena% dx & To build C applications: Read file /mit/opendx_v4.4/README.to-run-source-code-examples for information on building demos To run Java examples: Read file /mit/opendx_v4.4/README.to-run-Java-examples for information Online documentation starts here (Sun) and here (Linux); see also the README.athena file See also: ac3d, blender, geomview, ParaView, Open Inventor, Visualization Toolkit
Title and description: Visualization Toolkit Description: graphics library for 3d image visualization - can generate stand-alone binaries or interface with Tcl/Tk and Java (Python bindings are also available but we are not currently supporting them) To run: athena% add vtkit_v5.0; source /mit/vtkit_v5.0/envset (5.0 release) To build C++ applications: Read file /mit/vtkit_v5.0/README.to-run for information on building demos; look at the Makefile generated by the cmake build system for one of the demos and modify it appropriately for your own applications To run with Tcl: athena% vtk myfile.tcl (Tcl demos are in various examplesTcl directories) To run Java applications: athena% javac myfile.java athena% java myfile See book "The Visualization Toolkit", 3d Ed. (Kitware, Inc.), and other documentation starting from here. Author Web site is here; information about more documentation is here. There is also a local README. CMake documentation is here. See also: ac3d, blender, K3DSurf, geomview, Maya, OpenDX, Qt, ParaView, Renderman, Open Inventor, Tcl/Tk Note: static libraries are no longer being built as the great size of statically linked binaries makes them impractical
| Math Libraries |
Title and description: GNU Scientific Library Description: collection of routines for numerical computing, meant to present a modern API for C programmers while allowing wrappers to be written for very high level languages (C source code available) To run: athena% add gnusl athena% setenv GSL_VERSION version (to use non-default version) athena% source /mit/gnusl/cshrc To link against it: athena% gcc -O2 -o file `gsl-config --libs --cflags` file.c and add include lines such as the following in your program: #include <gsl/gsl_routine.h> (where routine identifies the name of the routine being used- see documentation for details) documentation is here (or here for a local 1.11 pdf manual); see also README.to-run and the GSL home page For more background see the Numerical Analysis FAQ There is also a portal to technical and scientific applications See also: boost, IMSL Numerical Libraries, IT++, LAPACK, matlab, Netlib, Numerical Recipes, NumPy, octave, scilab
Title and description: IMSL Numerical Libraries Description: collection of numeric and statistical routines for scientific computation in various languages. The versions currently on Athena are FORTRAN 6.0.0 (Linux), C 7.0.0 (Sun, Linux) and Java 5.0.1 (Sun, Linux). However, for FORTRAN the Intel ifort compiler, version 10 or later, is required. This compiler is not available on Athena (for licensing reasons), and users will need to provide their own locally installed copy To run: athena% attach imsl FORTRAN version (Linux only, requires user-supplied Intel ifort compiler): athena% source /mit/imsl/fnlsetup.csh (C shell) athena% . /mit/imsl/fnlsetup.sh (Bourne/bash shell) To link against it: athena% $FC $F90FLAGS -o file file.f90 $LINK_FNL (dynamic link) athena% $FC $F90FLAGS -o file file.f90 $LINK_FNL_STATIC (static link) C version (uses gcc for Linux, Sunsoft cc compiler 5.9 for Sun): athena% source /mit/imsl/cnlsetup.csh (C shell) athena% . /mit/imsl/cnlsetup.sh (Bourne/bash shell) To link against it: athena% $CC $CFLAGS -o file file.c $LINK_CNL (dynamic link) athena% $CC $CFLAGS -o file file.c $LINK_CNL_STATIC (static link) Java version (uses Java in /afs/athena/software/java/current/distrib/home): athena% source /mit/imsl/jmslsetup.csh (C shell) athena% . /mit/imsl/jmslsetup.sh (Bourne/bash shell) athena% javac file.java (compile to bytecode) athena% java $LIC file (run) Local FORTRAN documentation: math, special functions, statistics Local C documentation: entry point Local Java documentation: entry point, quickstart There is also a local README.athena, a Vendor documentation site, an IMSL home page For more background see the Numerical Analysis FAQ There is also a portal to technical and scientific applications See also: boost, GNU Scientific Library, IT++, LAPACK, matlab, Netlib, Numerical Recipes, NumPy, octave, scilab Note: Contains a timeout key that expires on 1/6/12- this affects both the ability to create new binaries and the ability to run existing ones. We don't have renewal information at this time
Title and description: IT++ Description: C++ library of mathematical, signal processing, speech processing and communications classes and functions. The kernel of the IT++ library consists of templated vector and matrix classes, and many functions for vectors and matrices; this makes the library functionality similar to that of matlab To run: athena% add itpp athena% setenv ITPP_VERSION version (to use non-default version; current default is 4.0.2) athena% source /mit/itpp/cshrc To link against it: athena% g++ -O2 `itpp-config --cflags` -o file file.cpp `itpp-config --libs` and add include lines such as the following in your program: #include <itpp/file.h> (where file identifies the include file required by the function(s) you are using- see documentation for details) Local documentation is here; see also README.to-run, README.athena and the IT++ home page See also the Numerical Analysis FAQ and the portal to technical and scientific applications See also: boost, GNU Scientific Library, IMSL Numerical Libraries, LAPACK, matlab, Netlib, Numerical Recipes, NumPy, octave, scilab
Title and description: LAPACK Description: library of FORTRAN 77 and C subroutines for solving many problems in numerical linear algebra and matrix applications To run: athena% add lapack_v3.0-06 To link against it: FORTRAN version: athena% g77 -O2 -o file file.f -L/mit/lapack_v3.0-06/lib -llapack -lcblas -lf77blas -latlas -lm (Linux) athena% f77 -O -o file file.f -L/mit/lapack_v3.0-06/lib -llapack -lcblas -lf77blas -latlas -lm (Sun) C version: athena% gcc -O2 -o file file.c -I/mit/lapack_v3.0-06/include -L/mit/lapack_v3.0-06/lib -llapack -lcblas \ -lf77blas -latlas -lg2c -lm (Linux) athena% add sunsoft_v11 athena% cc -O -o file file.c -I/mit/lapack_v3.0-06/include -L/mit/lapack_v3.0-06/lib -llapack -lcblas \ -lf77blas -latlas /mit/sunsoft_v11/SUNWspro/libdynamic/libF77.so.2 /mit/sunsoft_v11/SUNWspro/libdynamic/libfsu.so.1 -lm (Sun) and add the following include lines to your program: #include <g2c.h> (Linux) #include "f2c.h" (Sun) Some code may also require: #include "clapack.h" Please read the file /mit/lapack_v3.0-06/README.to-run for additional important information There are local Web pages for Atlas FAQ, LAPACK FAQ, CLAPACK FAQ and a documentation starting point at an external site For more background see the Numerical Analysis FAQ There is also a portal to technical and scientific applications See also: GNU Scientific Library, IMSL Numerical Libraries, IT++, Numerical Recipes, Netlib Note: Suns also have versions of LAPACK and BLAS supplied with the OS in the Sun Performance Library as an alternative
Title and description: Netlib Description: Netlib is an archive containing code for Lapack, Blas and other related public-domain numerical computation routines. It is currently accessed by forms on the Web To run: Go to the Netlib Web page For more general information see the Guide to Available Mathematical Software and the IML++ Iterative Methods Library For more background see the Numerical Analysis FAQ There is also a portal to technical and scientific applications See also: LAPACK, GNU Scientific Library, IMSL Numerical Libraries, IT++
Title and description: Numerical Recipes Description: library of many numerical analysis routines (FORTRAN and C source available) To run: athena% add recipes See books "Numerical Recipes in C" or "Numerical Recipes in FORTRAN" that go with the software available online To link against it: C code: add the following include lines to you program: #include "nr.h" #include "nrutil.h" athena% add sunsoft (Athena 9.4 Sun) athena% c89 -O -I/mit/recipes/include -o file file.c -L/mit/recipes/lib -lrecipes_c -lm FORTRAN code: athena% f77 -O2 -o file file.f -L/mit/recipes/lib -lrecipes_f For more general information see the Guide to Available Mathematical Software and the IML++ Iterative Methods Library For more background see the Numerical Analysis FAQ Numerical Analysis FAQ There is also a portal to technical and scientific applications See also: GNU Scientific Library, IT++, IMSL Numerical Libraries, LAPACK, matlab, Netlib, octave, scilab Note: Numerical Recipes on Athena are now at release level 2.1.0 c89 has to be used on Athena 9.4 Suns in certain circumstances to avoid "redefined symbol" errors; it is otherwise optional
| User Interfaces / Widgets |
Title and description: Andrew Toolkit Description: GUI and application development environment To get information: athena% add andrew athena% ahelp programming See also: ahelp
Title and description: boost Description: extensive set of general-purpose and specialized C++ programming libraries that significantly extend the functionality of the C++ Standard Library To run: athena% add boost To compile and link C++ code against the boost libraries, include the appropriate headers in your code; possible formats include: #include <boost/test/test_tools.hpp> #include <vector> and include on your compilation command line: To link against it: athena% g++ -O2 -I/mit/boost/include/boost-1_33 -o file file.cpp -L/mit/boost/lib -lboostlibrary The libraries were built with g++ in the Athena 9.4 release (version 3.4.3) and it is highly recommended that you use the same in building your code. There is a boost Web site with documentation. boost is very complex and you will most likely need to consult the documentation to use it effectively; this may help you get started See also: g++, GNU Scientific Library, IMSL Numerical Libraries, IT++, NumPy, Qt Note: The -L/mit/boost/lib -lboostlibrary components of the command line may or may not be necessary depending on the nature of your code. If they are, selecting the proper name for one (or more) libraries to link against is very involved, and you must consult the documentation to understand how this works. Also, if you do need to link against boost libraries, the default is dynamic linking and in that case you will need to include /mit/boost/lib in the LD_LIBRARY_PATH environment variable at run time
Title and description: FLTK Description: cross-platform C++ GUI toolkit. FLTK provides modern GUI functionality and supports 3d graphics via OpenGL and its built-in GLUT emulation. fluid is a GUI designer for FLTK To run: athena% add fltk athena% setenv FLTK_VERSION version (to use non-default version) athena% source /mit/fltk/cshrc athena % fluid options (to run fluid GUI designer) To link against it: athena% g++ -O2 -o file `fltk-config --cxxflags --ldflags` file.cxx and add include lines such as the following in your program: #include <FL/FL_Component.H> (where Component identifies the name of the component being used- see documentation for details) pdf and html documentation are available; see also README.to-run and the FLTK home page See also: Motif, PerlQt, Qt
Title and description: guile Description: implementation of the Scheme programming language, made available as a library that allows interfacing the interpreter with code from other programming languages (such as C) To run: athena% add guile To compile and link C code against the guile library put the following #include in your code: #include <guile/gh.h> and run the following from the command line: athena% gcc -O2 `guile-config compile` -o file file.c `guile-config link` -L/usr/X11R6/lib -lX11 -lm where file.c is the file you are compiling (you may need to link against additional libraries besides -lX11 -lm) There is a guile documentation page and code samples to clarify the details. See also: Clojure, drscheme, newLISP, scheme, SCM
Title and description: Motif Description: software suite from Open Group incorporating the mwm Window Manager and a library of Widgets for building GUI applications with a "Motif look and feel". The instructions below describe how to build your own Motif applications by linking against the Motif library Sun and Linux now come with various versions of Motif libraries and associated header files (dynamic linking is the default). Linux formerly used Lesstif, a Motif clone, but now generally uses Motif released under Open Source license (OpenMotif). To compile and link C code against the Motif library, put whatever include files your code requires at the top of your source file file.c, typically including: #include <Xm/Xm.h> #include <Xm/Label.h> and compile as follows from the command line: athena% gcc -o file file.c -L/usr/X11R6/lib -lXm -lXt -lX11 You may run into further complications, such as the need to link against additional libraries or supply additional directories for header files, that are beyond the scope of this document See also: FLTK, Qt, Xaw, Wcl
Title and description: PerlQt Description: Perl interface to Qt GUI Toolkit To run: athena% add perlqt_v3.009 athena% puic options uifile (to run Perl User Interface Compiler) athena% pqtapi (to run API-listing utility) athena% pqtsh (to run PerlQt shell) to run executable PerlQt scripts, add the following lines to the top of your scripts: #!/usr/bin/env perl use lib qw(/mit/perlqt_v3.009/lib/perl5/site_perl/5.8.3/i686-linux-thread-multi); There is local online documentation and a Web page See also: FLTK, Perl, Qt Please read the file /mit/perlqt_v3.009/README.athena for additional important information
Title and description: Qt Description: Object-oriented framework for developing graphical user interface (GUI) applications using C++. Used as basis for Linux KDE interface To run: athena% setenv QT_VERSION 4.3.3 (to use release 4.3.3); if omitted, uses the default version, 4.4.3 athena% setup qt-dynamic (for dynamically linked applications) athena% setup qt-static (for statically linked applications) Qt 4.4.3 recommended compilers: Sun: Athena 9.4 /usr/sfw/bin/g++ (3.4.3), Linux: Athena 9.4 /usr/bin/g++ (3.4.6) athena% designer & (to run GUI interface builder) athena% assistant & (to run GUI help browser) athena% qtdemo & (to run demos) For command-line builds, in a directory where you put your Qt C++ source code: athena% qmake -project (to build Qt .pro project file) athena% qmake (to build UNIX Makefile from .pro file) athena% make (to compile and build your code) There is 4.4.3 local online documentation; see also /mit/qt-dynamic_v4.4.3/README.to-run for additional important information. Qt is complex and has changed significantly in the 4.0 release; you will need to study the documentation to build non-trivial code projects. See also: boost, cT, FLTK, Motif, PerlQt, Tcl, Tk, Wcl, Visualization Toolkit Using older versions: To build your own applications with pre-4.x Qt releases (default is 3.3.3, QT_VERSION can be used to change this): athena% add qt use include files in /mit/qt/include link with -L/mit/qt/lib -lqt-mt (dynamic link, Qt 3+) or /mit/qt/lib/libqt-mt.a (static link, Qt 3+) If you want to build applications using Qt with a version that is not the current default, replace the qt path component in the compile and link lines with a version-specific one in form qt_v3.3.3, use includes in /mit/qt_v3.3.3/include and set environment variable QT_VERSION to version 3.3.3, and so on) Linux machines now have the dynamic Qt library in the release (below /usr/lib/qt-3.3 as of this writing) There is 3.3.3 local online documentation; see also the Independent Qt Tutorial and the Qt home page; also a Qt 3 programming book Please read the file /mit/qt/README.to-run for additional important information; see also the corresponding files in the qt_vx.y.z version lockers
Title and description: Swing Set (Java) (outdated- newer versions of the JDK have this built-in) Description: set of Java classes that is available as a toolkit for building Java applications To run: athena% add swing_v1.1 To run demos: athena% source /mit/swing_v1.1/demo-cshrc then cd to an appropriate demo dir and run runnit i.e. like: athena% cd /mit/swing_v1.1/swing-1.1beta2/examples/Simple; runnit To build your own applications: athena% source /mit/swing_v1.1/dev-cshrc and use JDK tools in the usual way, i.e.: athena% javac HelloSwing.java (to compile HelloSwing) athena% java HelloSwing (to run class file HelloSwing.class) There are more detailed instructions in file /mit/swing_v1.1/README.to-run and online documentation See also: Java Development Kit
Title and description: Tcl, Tk Description: Programming environment for creating GUI interfaces under X windows To run: athena% tclsh8.3 (for an interactive Tcl interpreter, Sun) athena% tclsh8.4 (for an interactive Tcl interpreter, Linux) or executable script in Tcl with first line: #!/usr/sfw/bin/wish8.3 -f (Sun, to run executable scripts with a windowing interpreter) #!/usr/bin/wish8.4 -f (Linux) To compile applications that link against Tcl/Tk libraries: include tcl.h, tk.h in your code (in /usr/sfw/include, Sun or /usr/include, Linux) link against libtcl8.3.so and libtk8.3.so (in /usr/sfw/lib, Sun) or libtcl8.4.so and libtk8.4.so (in /usr/lib, Linux) See also: lua, newLISP, perl, Qt, Visualization Toolkit, Wcl Note: There are other, possibly newer version of Tcl and Tk in the tcl locker
Title and description: Wcl (this locker is old and probably won't be updated) Description: Wcl is a library which allows the complete look and feel of a Widget-based application to be specified in Xrm resource files. Mri and Ari are user-interface building tools using Wcl. Wcl itself is widget set independent: it can be used to create and manipulate user interfaces which are made up of Athena, Cornell, Motif, OpenLook, or any other Xt based widgets To use: add wcl; attach x11r5 Mri -rf resourcefile (where resourcefile has Motif X resources) Ari -rf resourcefile (where resourcefile has Xaw resources) To link against the Wcl libraries: athena% attach motif1.2 (in addition to add/attach above) athena% cc -o file file.c -I/mit/wcl/include -I/usr/athena/include -L/mit/wcl/lib -L/usr/athena/lib -lWc See also: Qt, Tcl, Tk
Title and description: Xaw, Xt, Xlib Description: Xaw is a set of X widgets called the Athena Toolkit. Xt is a set of X routines called X Toolkit Intrinsics, upon which widgets are built. Xlib is the lowest level of X routines. These are all low-level routines. Most graphical applications are now developed with one of the many more modern, high-level widget sets To use: To link against the Xlib libraries: athena% cc -o file file.c -lX11 To link against the Xt libraries: athena% cc -o file file.c -lXt -lX11 To link against the Athena widget libraries: athena% cc -o file file.c -lXaw -lXt -lX11 For documentation, see many man(3) pages starting with X... and Xt... See also: Motif Note: Sun machines don't have static versions of all the libraries

|  | Home | Getting Started | Getting Services | Getting Help | About IS&T | Accessibility Send a comment about this web page.

Number of queries to this page: