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.
-
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
-
-
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
-
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 ..
-
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);
- start the Cygwin XServer by
-
Compile and install Surfer:
aclocal
./configure
- Open the file
Makefile.am
from the surfer directory, add the linepgdir = $(pkgdatadir)
after the linepg_DATA = gallery.tar
, and save. make
make install
cd ..
-
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
- start the Cygwin XServer by
-
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);