PHYSICA: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
Line 30: Line 30:
* cd physica
* cd physica
* make
* make


= Build on MacOS 10.7 =
= Build on MacOS 10.7 =

Revision as of 08:55, 29 June 2012

Physica Links

Extrema links

About

PHYSICA is a high level, interactive programming environment with user friendly graphics and sophisticated mathematical analysis capabilities. Over 200 numeric and character functions are provided, as well as over 30 operators, providing all of the operations of simple calculus, along with powerful curve fitting, filtering and smoothing techniques, and employing a dynamic array management scheme allowing arrays limited in size only by system resources. Algebraic expressions of arbitrary complexity are evaluated using a lexical scanner approach. Line graphs, histograms and pie charts, as well as contour, density and surface plots are available. The user interface is a command language with a simple to use and easy to learn syntax, incorporating basic elements of a structured programming language including conditional branching, looping and subroutine calling constructs.

PHYSICA was developed at TRIUMF by Joe Chuma, Fred Jones and other

Build on Linux

Only 32-bit PHYSICA is known to work. 64-bit is known to not work. When building on 64-bit Linux, many 32-bit "devel" packages need to be installed.

The Linux Makefile builds 3 flavours of the physica executable:

  • physica : normal dynamically linked executable
  • physica-static : fully static executable (no shared libraries), same as old versions of physica. Cannot be built on SL5/SL6 because they do not supply libX11.a static libraries
  • physica-half-static : link as many libraries as possible statically. This is the recommended executable for general use. It can only be built on 32-bit SL5. (SL6 do not provide many 32-bit static libraries).

Build:

Build on MacOS 10.7

  • install required libraries using MacPorts
    • install MacPorts: download the MacPorts-xxx-Lion.pkg from http://www.macports.org/install.php, install
    • sudo /bin/sh
    • port -v selfupdate
    • port install gd2 +universal ### (will take forever because it thinks it needs to build most of gnome)