Installation of Surfer on Cygwin32 - BrentBaccala/Singular GitHub Wiki

This page describes the installation of Surf and Surfer from the latest sources in Cygwin32 under Windows.

Surf and Surfer can be call from Singular after loading the library surf.lib.

This version of the instructions was tested in Windows7.

  1. Install the following software required to build and run Surf and Surfer:

    a. Tools from the standard Cygwin repository:

    • Run setup-x86.exe

    • Install the following packages (you will be asked to resolve dependencies, answer yes):

      libjpeg-devel, libtiff5, libtiff-devel, libX11-devel, flex, zlib, libglib2.0-devel, libsigc2.0-devel, libgtk2.0-devel, pkg-config xinit, fvwm

    b. Tools from the Cygwinports repository:

    • Run setup-x86.exe -K http://cygwinports.org/ports.gpg

    • Add to the list of download servers and select ftp://ftp.cygwinports.org/pub/cygwinports

    • Install the following package (you will be asked to resolve dependencies, answer yes):

      libgtkmm2.4-devel

  2. Download Surfer (includes Surf sources):

    • cd home/git/Singular4
    • mkdir surfer
    • cd surfer
    • wget http://data.imaginary2008.de/software/surfer/surfer.tar.bz2
    • tar -xvf surfer.tar.bz2
    • tar -xvf surf-for-surfer.tar.gz
  3. Compile and install Surf (after this step you can use Surf on the command line to plot curves and surfaces):

    • cd surf-1.0.5
    • ./configure --disable-gui
    • make
    • make install
    • cd ..
  4. Check whether Surf works by doing in Singular:

    • start the Cygwin XServer by startx
    • start a Window-Mangager by fvwm
    • Do in Singular (of course Surf can also be used as a stand-alone program):
      • LIB "surf.lib";
      • ring R = 0,(x,y),dp;
      • ideal J = x^3-y^2;
      • plot(J);
  5. Compile and install Surfer:

    • aclocal
    • ./configure
    • Open the file Makefile.am from the surfer directory, add the line pgdir = $(pkgdatadir) after the line pg_DATA = gallery.tar, and save.
    • make
    • make install
    • cd ..
  6. Check whether Surfer works:

    • start the Cygwin XServer by startx if not done yet
    • start a Window-Mangager by fvwm if not done yet
    • run Surfer by surfer
  7. Check whether Surfer works in Singular:

    • LIB "surf.lib";
    • ring R = 0,(x,y,z),dp;
    • ideal J = x^2*y^2+x^2*z^2+y^2*z^2-17*x*y*z;
    • surfer(J);