Next: , Previous: Search paths, Up: Installation


2.6 Compiling from UNIX source

To compile and install a UNIX executable from a source release x.xx, first execute the commands:

gunzip asymptote-x.xx.src.tgz
tar -xf asymptote-x.xx.src.tar
cd asymptote-x.xx

Then put http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz in the current directory and

./configure
make all
make install
Be sure to use GNU make (on non-GNU systems this command may be called gmake). To build the documentation, you may need to install the texinfo-tex package. If you get errors from a broken texinfo or pdftex installation, simply put
http://asymptote.sourceforge.net/asymptote.pdf
in the directory doc and repeat the command make all.

For a (default) system-wide installation, the last command should be done as the root user. To install without root privileges, change the ./configure command to

./configure --prefix=$HOME/asymptote
The above steps will compile an optimized single-threaded static version of the Boehm garbage collector (http://www.hpl.hp.com/personal/Hans_Boehm/gc/). Alternatively, one can request use of a (presumably multithreaded and therefore slower) system version of the Boehm garbage collector by configuring instead with ./configure --enable-gc=system (provided that your system has the libgc and libgccpp libraries). One can disable use of the garbage collector by configuring with ./configure --disable-gc. For a list of other configuration options, say ./configure --help. For example, one can tell configure to look for header files and libraries in nonstandard locations:
./configure CFLAGS=-I/opt/usr/include LDFLAGS=-L/opt/usr/lib

If you are compiling Asymptote with gcc, you will need a relatively recent version (e.g. 3.2 or later). For full interactive functionality, you will need version 4.2 or later of the GNU readline library. The file gcc3.3.2curses.patch in the patches directory can be used to patch the broken curses.h header file (or a local copy thereof in the current directory) on some AIX and IRIX systems.

The FFTW library is only required if you want Asymptote to be able to take Fourier transforms of data (say, to compute an audio power spectrum). The GSL library is only required if you require the special functions that it supports.

If you don't want to install Asymptote system wide, just make sure the compiled binary asy and GUI script xasy are in your path and set the configuration variable dir to point to the directory base (in the top level directory of the Asymptote source code).

A patch supplied in the patches directory fixes several bugs in the UNIX PostScript viewer gv-3.6.2, allowing it to work properly with Asymptote. After putting gv-3.6.2 from http://ftp.gnu.org/gnu/gv/ in the Asymptote source directory, here are the steps to install a properly working gv in /usr/bin (as the UNIX root user):

tar -zxf gv-3.6.2.tar.gz
cd gv-3.6.2
patch -p1 < ../patches/gv-3.6.2.patch
./configure --prefix=/usr
make install