DO NOT EDIT THIS FILE. OpenXM URL : http://www.math.kobe-u.ac.jp/OpenXM http://www.openxm.org Consult firstly the ERRATA section for your release on this web cite for troubles. OpenXM package : Getting started. This document is for OpenXM version 1.2.1. ----------- An instruction for a quick installation from the source code --- (cd OpenXM/src ; make configure ; make install) You will get binaries, libraries, and documents under OpenXM/bin, OpenXM/lib, OpenXM/doc (cd OpenXM/rc ; make install) Shell scripts to start "asir", "sm1", ... will be copied to /usr/local/bin *********** If you need only asir and kan/(sm1, k0), (cd OpenXM/src ; make install-kan-ox ; make install-asir-contrib) You will get only asir (OpenXM version) and kan/sm1. (cd OpenXM/rc ; make install) ------------------------------------------------------------------- ***** HOW TO INSTALL OpenXM GENERIC PACKAGE? In this section, we will explain how to install OpenXM package binary distribution. If you build from the source, see the section * How to make OpenXM package? If you install openxm by using RPM or Debian package, install the system following the instruction given on our web page. As to the required environment, see the section "System Requirement" (1) Extract the directory OpenXM from the tar ball. You can put the directory OpenXM at any place in the file system. You do not need to be a root to install it. We are happy if you put OpenXM at /usr/local/OpenXM tar xzvf OpenXM-shared.tgz tar xzvf OpenXM-binary-OPERATING_SYSTEM_CPU_TYPE.tgz In the sequel, we will denote the absolute path of the directory OpenXM by /xxx/yyy/OpenXM. (2) Generate OpenXM/rc/dot.cshrc, OpenXM/rc/dot.bashrc and OpenXM/rc/openxm, OpenXM/rc/asir, OpenXM/rc/oxmath, ... The files openxm, asir, oxmath are shell scripts to invoke OpenXM clients. If you want to install these shell scripts to /usr/local/bin, type in as follows. cd /xxx/yyy/OpenXM/rc make install If you want to install them under the bin of your home directory, type in as follows. cd /xxx/yyy/OpenXM/rc make install PREFIX=$HOME/bin [Note] If you are Solaris user, you might have to type in like /usr/ccs/bin/make install PREFIX=$HOME/bin If you want to execute binaries under OpenXM/bin, you need to perform (3) and (3'). If you use only OpenXM clients, skip (3) and (3'). (3) Append the following line to the end of ~/.cshrc when you are using csh as your shell. source /xxx/yyy/OpenXM/rc/dot.cshrc (3') Append the following lines to the end of ~/.bashrc and ~/.bash_profile respectively when you are using bash as your shell. source /xxx/yyy/OpenXM/rc/dot.bashrc (.bashrc) source ~/.bashrc (.bash_profile) After finishing the step (3) or (3'), logout and login again, or read dot.bashrc or dot.cshrc file by the source command. FAQ Q. How to start asir OpenXM clients in the iconic mode? A. Add the following line to .Xdefaults or a file you read by xrdb. ox_xterm*iconic: on ------------------------------------------------------------- ***** HOW TO INSTALL OpenXM FreeBSD binary package Copy openxm-version.tgz from our ftp cite. Become the super user and type pkg_add openxm-version.tgz OpenXM will be installed to /usr/local/OpenXM Here, version is the version number of OpenXM. For example, the version number of the OpenXM of May 20 (Mon), 2000 is 1.1.2 If you fail "pkd_add", increase the size of /var java and linux emulation are required to run OpenXM packages. Java needs to be in the search path. So, for example, execute pkg_add after set path=(/usr/local/jdk1.1.8 $path) rehash Following the message of pkg_add after the installation, set path. jdk can be installed by /usr/ports/lang/jdk. Add the line linux_enable="YES" to /etc/rc.conf and install shared libraries for linux by /usr/ports/emulators/linux_base. Then, you can emulate linux. If you do not install under /usr/local, goto (2). ***** HOW TO INSTALL OpenXM by the redhat Package manager (Linux) Copy openxm-shared-version-suffix.noarch.rpm openxm-binary-version-suffix.i386.rpm from our ftp cite. Become the super user and type rpm -i openxm-shared-version-suffix.noarch.rpm rpm -i openxm-binary-version-suffix.i386.rpm OpenXM will be installed to /usr/local/OpenXM Here, version is the version number of OpenXM. For example, the version number of the OpenXM of May 20 (Mon), 2000 is 1.1.2 suffix is the minor version number of the package. If you do not install under /usr/local, goto (2). You might need to install libgd. If it is not installed in your system, access to http://www.redhat.com/downloads and get libgd. --------------------------------------------------------- ***** OpenXM client programs under OpenXM/bin or /usr/local/bin: asir oxmath openxm sm1 ***** OpenXM server programs: OpenXM/bin/ox_asir OpenXM/bin/ox_sm1 OpenXM/bin/ox_math OpenXM/lib/sm1/bin/ox_sm1_gnuplot OpenXM/lib/sm1/bin/ox_sm1_phc OpenXM/lib/sm1/bin/ox_sm1_tigers OpenXM/lib/java-support/OMproxy.class ***** QUALITY: Experimental: OpenXM/bin/k0, OpenXM/bin/d0 Asir client functions: m_* (Mathematica) , om_* (OpenMath) OpenXM/lib/java-support/ * 70% OpenXM/bin/ox_math, OpenXM/bin/math2ox OpenXM/bin/sm1, ox_sm1 on Linux libc6. **** OpenXM server and client programs (under development) included only in the source distribution OpenXM/src/Macaulay2 ( M2 server and client ) OpenXM/src/ruby ( Ruby client) **** Utilities OpenXM/doc/oxlib ( how to link oxservers as libraries ) ***** JAVA In order to use OMproxy, asir client om_*, you need to install JDK. The bin dir of the JDK must be in yur search path. For example, you need to add the following line to your .chsrc when your shell is csh set path=(/usr/local/jdk1.1.8/bin $path) Bash users put the following line to .bashrc PATH=/usr/local/jdk1.1.8/bin:$PATH export PATH Where can I get jdk? : FreeBSD --- see /usr/ports/java/jdk Linux --- http://java.sun.com/products/jdk/1.2/ja http://java.sun.com/j2se/1.3/ja Remark: The Java interpreter of Kaffe 1.0.b4 does not contain the method toByteArray in the class BigInteger. So, it cannot be used for the OpenMath module. -------------------------------------------------------- ***** SYSTEM REQUIREMENTS OS: FreeBSD 3.3, 3.4, 4.x (Intel CPU), Linux systems (Intel CPU): Most Linux with libc5 and with libc6 (glibc 2.x). X window system is required. Most part of the OpenXM package may work on other versions of FreeBSD 3.x and Linux, but we have not yet tested. The following modules require the listed softwares other than the standard OS package. (1) OpenXM/bin/oxmath : Mathematica Version 3.x or 4.x (Mathematica server) at /usr/local/Mathematica OpenXM/bin/math2ox [ see http://www.wolfram.com ] Asir client functions m_* (2) OpenXM/lib/java-support : JDK at /usr/local/jdk?? [ see the section on JAVA] Asir client functions om_* sm1 client functions om_* (3) PHC pack (OpenXM/bin/phc) and asir client functions phc_* run only on linux (glib5). If you install the linux emulation^{note 1} on Free BSD, they run on FreeBSD, too. Add linux_enable="YES" in /etc/rc.conf You need the following packages: pkg_info | grep linu linux_base-5.2 The base set of packages needed in Linux mode linux_devtools-5.2 Packages needed for doing development in Linux mode The installation is completed. ----------------------------------------------------- ***** DOCUMENTS The best OpenXM client in the OpenXM package is now asir. Documents on asir are OpenXM/doc/asir2000/man-eg.dvi OpenXM/doc/asir2000/html-eg (HTML) The file OpenXM/doc/asir-contrib/cman-eg.dvi is a document on OpenXM client libraries for asir. The design outline is described in OpenXM/doc/issac2000/issac2000.ps Dvi files can be previewed by xdvi and ps files can be previewed by ghostview. As to Mathematica client, see OpenXM/doc/ox_math. As to sm1 client, see OpenXM/doc/kan96xx. The asir can be used as a C library for polynomial manupulation. See OpenXM/doc/oxlib. If you are interested in writing a server for OpenXM, please refer to OpenXM/src/ox_toolkit and OpenXM/src/OpenMath. ***** A QUICK TOUR OF OPENXM BY ASIR ---------------- Call ox_sm1 from asir. bash-2.03$ asir This is Risa/Asir, Version 20000120. Copyright (C) FUJITSU LABORATORIES LIMITED. 1994-1999. All rights reserved. xm Version 20000116. ox_help(0); ox_help("keyword"); for help message [269] sm1_genericAnn([x^3-y^2,[s,x,y]]); /* The annihilating ideal of (x^3-y^2)^s */ [-2*y*dx-3*x^2*dy,2*x*dx+3*y*dy-6*s] --------------- Call gnuplot from asir. bash-2.03$ asir This is Risa/Asir, Version 20000120. Copyright (C) FUJITSU LABORATORIES LIMITED. 1994-1999. All rights reserved. xm Version 20000116. ox_help(0); ox_help("keyword"); for help message [269] gnuplot("plot sin(x);"); 0 [270] ****** Example of the use of sm1 client -------------------------------------- call ox_asir from sm1 sm1 (oxasir.sm1) run ; [(x^20-y^20) (x,y)] fctr pmat ; factorize x^20-y^20 by call ox_asir [COPYRIGHT] See OpenXM/Copyright. ---------------------------------------------- ***** TO COMPILE FROM A SOURCE ***** * How to make OpenXM package? We have tested the OpenXM package on FreeBSD 3.x, FreeBSD 4.x, Linux. (On Linux glib6, we needed to define #define __FAVOR_BSD 1 in /usr/include/features.h, but now we are compiling some sources with -D_BSD_SOURCE (setjmp vs sigsetjmp). So, you do not need to make this change.) Do you have directories OpenXM, OpenXM_contrib, OpenXM_contrib2? get openxm-1.2.1.tar.gz from ftp.math.kobe-u.ac.jp/OpenXM/1.2.1 Expand it by tar xzvf openxm-1.2.1.tar.gz Then, you will get openxm-1.2.1/OpenXM openxm-1.2.1/OpenXM_contrib openxm-1.2.1/OpenXM_contrib2 If you are a CVS committer, then you can get all sources as follows: rcvs checkout OpenXM OpenXM_contrib OpenXM_contrib2 Check that you have these directories, then just type in the following commands cd OpenXM/src make configure make make install In order to use and compile OpenXM/src/ox_math, you need Mathematica. In order to use and compile OpenXM/src/OpenMath, you need jdk (java environment). In order to generate the full documentation including Japanese documents, you need tex, ptex (ASCII Inc. Japanese tex), dvips, texinfo, texi2html, nkf, jlatex2html. See each Makefile. The generated documents are in OpenXM/doc and OpenXM/lib in the binary distribution. If you do not like to install Japanese environment such as ptex, type in R for the tex error prompt ? or prepare empty shell scripts ptex and nkf. To run the system, you need to read OpenXM/rc/dot.cshrc or OpenXM/rc/dot.bashrc by the source command for setting proper environmental variable values. By the commands cd OpenXM/rc make you can generate dot.cshrc and dot.bashrc. Read these file by the source command in your .cshrc or .bashrc (or .bash_profile). --------------------------------------------------------- ***** How to generate a subset of the full OpenXM package from the head branch. * The souce tarball of the head branch is at ftp.math.kobe-u.ac.jp/pub/OpenXM/Head/openxm-head.tar.gz Get this tarball by the ftp command. Extract the directories OpenXM OpenXM_contrib OpenXM_contrib2 by tar xzvf openxm-head.tar.gz [Subpackage asir] If you want to generate only Risa/Asir, type in as follows. (cd OpenXM/src ; make install-asir) (cd OpenXM/rc ; make ) Copy the shell script "asir" at OpenXM/rc in your search path, e.g., /usr/local/bin or ~/bin Or, read OpenXM/rc/dot.bashrc or OpenXM/rc/dot.bashrc by the source command from your ~/.bashrc or ~/.cshrc. [Subpackage kan-ox] If you want to generate only kan/k0, kan/sm1 and asir type in as follows. (cd OpenXM/src ; make install-kan-ox) (cd OpenXM/rc ; make ) Copy the shell script "asir", "sm1" and "openxm" at OpenXM/rc to your search path, e.g., /usr/local/bin or ~/bin Or, read OpenXM/rc/dot.bashrc or OpenXM/rc/dot.bashrc by the source command from your ~/.bashrc or ~/.cshrc. ------------------------------------------------------ ***** COMPILE ON SOLARIS There are a lot of troubles on Solaris for now. At least, /usr/ccs/bin must be at the top of the command search path to compile on Solaris. ***** COMPILE ON Redhat Linux 6.1 m4-1.4 and autoconf-2.13 are required. (Preinstalled autoconf is version 2.12. It causes a trouble when you build gnuplot.)