What Runs Where on Athena: Programming Libraries
On this page:
Graphics Libraries
Math
Libraries
User Interfaces / Widgets
Title and Description: OpenDX TO RUN: athena% dx & Online documentation starts at file:///usr/share/doc/dx/html/index.html See also: ac3d, blender, geomview, ParaView, Open Inventor, Visualization Toolkit |
Title and Description: Visualization Toolkit TO RUN: Please see documentation at file:///usr/share/doc/vtk-doc/README.html, file:///usr/share/doc/vtk-doc/html/index.html and file:///usr/share/doc/vtk-examples/README.examples To run with Tcl: athena% vtk myfile.tcl (Tcl demos are in various Tcl example directories like /usr/share/vtk/Modelling/Tcl) To run with Python: athena% vtkpython myfile.py (Python demos are in various Python example directories like /usr/share/vtk/Modelling/Python) To run C++ applications, see README.examples above; see documentation for use with Java See book "The Visualization Toolkit", 3d Ed. (Kitware, Inc.), and other documentation starting from here. Author Web site is here See also: ac3d, blender, K3DSurf, geomview, Maya, OpenDX, Qt, ParaView, Open Inventor, Tcl/Tk |
Title and Description: GNU Scientific Library TO RUN: 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 at file:///usr/share/doc/gsl-ref-html/index.html; see also 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 TO RUN: athena% attach imsl FORTRAN version (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): 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++ TO RUN: 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) See also the IT++ home page and the IT++ documentation 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 TO RUN: To link against it: FORTRAN version: athena% gfortran -O2 -o file file.f -llapack C version: athena% gcc -O2 -o file file.c -llapack -lcblas and add the following include line to your program: #include <f2c.h> Some code may also require: #include <clapack.h> See the User's Guide: file:///usr/share/doc/liblapack-doc/lug/index.html, release notes: file:///usr/share/doc/liblapack-doc/release_notes.html and FAQ: file:///usr/share/doc/liblapack-doc/faq.html 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 |
Title and Description: Netlib 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 (old: second edition; the newer third edition is not available on Athena) 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% gcc -O2 -I/mit/recipes/include -o file file.c -L/mit/recipes/lib -lrecipes_c -lm FORTRAN code: athena% gfortran -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 |
Title and Description: boost TO RUN: 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> To link against it: athena% g++ -O2 -o file file.cpp (simplest case, for code that doesn't require linkage against boost libraries) athena% g++ -O2 -o file file.cpp -lboostlibrary (where boostlibrary is one (or more) required libraries, like boost_regex) There is a boost Web site with documentation; local documentation is at file:///usr/share/doc/libboost1.37-doc/HTML/index.html 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: Selecting the appropriate name for one (or more) libraries to link against can be complicated, and you must consult the documentation to understand how this works |
Title and Description: FLTK TO RUN: 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) Local documentation is at file:///usr/share/doc/fltk1.1-doc/HTML/index.html; see also the FLTK home page |
Title and Description: guile TO RUN: athena% guile (to start an interactive session) 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` where file.c is the file you are compiling (you may need to link against additional libraries) There is a guile documentation page and code samples to clarify the details. |
Title and Description: Motif Linux now comes 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 -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 |
Title and Description: PerlQt TO RUN: 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 Qt; (you may need additional use directives depending on your code) There is a Web page with documentation Please read the file /mit/perlqt_v3.009/README.athena for additional important information |
Title and Description: Qt TO RUN: athena% designer & (to run Qt 4 GUI interface builder) athena% assistant-qt4 & (to run Qt 4 GUI help browser) athena% assistant-qt3 & (to run Qt 4 GUI help browser) For command-line builds, in a directory where you put your Qt C++ source code: athena% qmake -project (to build Qt 4 .pro project file) athena% qmake (to build UNIX Makefile from .pro file) athena% make (to compile and build your code) 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; there is online documentation; see also the Independent Qt Tutorial and the Qt home page See also: boost, FLTK, Motif, PerlQt, Tcl, Tk, Visualization Toolkit |
Title and Description: Tcl, Tk TO RUN: athena% tclsh (for an interactive Tcl interpreter) or executable script in Tcl with first line: #!/usr/bin/wish -f (to run executable scripts with a windowing interpreter) To compile applications that link against Tcl/Tk libraries: Add include lines like the following in your code:
#include <tcl8.4/tcl.h> #include <tcl8.4/tk.h> link against libtcl8.4.so.0 and libtk8.4.so.0 See also: lua, newLISP, perl, Qt, Visualization Toolkit Note: Libraries (but not headers) libtcl.so.5.0 and libtk.so.5.0 are also available |
Title and Description: Xaw, Xt, Xlib To use: To link against the Xlib libraries: athena% gcc -o file file.c -lX11 To link against the Xt libraries: athena% gcc -o file file.c -lXt -lX11 To link against the Athena widget libraries: athena% gcc -o file file.c -lXaw -lXt -lX11 See also: Motif |


