GridFlow GridFlow GridFlow

GridFlow 0.9.1 - Installation

Hardware and Software you Probably Need

Computer/Processor: GridFlow is mainly made on PC. This includes AMD K6/K7/K8 (Athlon/Opteron/etc), Intel P2/P3/P4 and other Pentiums, Intel CoreDuo, etc.; the absolute minimum is 386. However, GridFlow has also been seen working on Macintosh (G3/G4/G5), Corel NetWinder, and SPARCstation.

Operating System: GridFlow is mainly made on Ubuntu. We have also used Debian, SuSE and Mandrake. We suppose that it would work on FreeBSD, NetBSD or OpenBSD if someone tried. MacOSX support is a bit trickier but it should work on 10.3 (haven't tried lately). It also worked on Solaris when I tried it. Microsoft Windows is not supported, but if you do want to try to add support for that, try CygWin and/or MinGW.

Required Software:

  • Ruby 1.8 or 1.9 (with all the *.so and *.h files)
  • PureData 0.39 or later, or DesireData
  • GNU C++ Compiler (g++) version 3.x or 4.x
  • GNU Make
  • SVN
  • Developer Tools CD dec 2002 (if MacOS 10.2)
  • XCODE (if MacOS 10.3)
  • FINK (if MacOS 10)

Multimedia Components (optional):

  • libSDL (Simple Directmedia Layer)
  • libjpeg
  • libpng
  • libmpeg3 (.mpg reader, HeroineWarrior's)
  • libquicktime (.mov reader/writer, Burkhard Plaum's or HeroineWarrior's)
  • libmpeg (.mpg reader, Greg Ward's, old)
  • Apple QuickTime (.mov reader/writer)
  • Ascii Art Library (aalib)
  • PCI video digitizer card (and Video4linux 1 driver)
  • USB camera (and Video4linux 1 driver)
  • FFTW3

Downloading from SVN

The SVN has the absolute latest version of GridFlow, but it's not guaranteed to be working, whereas the actual releases are more tested.

However you may have various reasons to use the SVN edition, so here's how:

Make sure you have the svn program installed.

  • cd pd/extra
  • svn checkout http://gridflow.ca/svn/trunk
  • mv trunk gridflow

And the subsequent times, you only do this:

  • cd pd/extra/gridflow

  • svn update

Installation instructions (incl. compilation)

    • Install Ruby, preferably a Ruby 1.8. It needs to come with ruby.h and intern.h and libruby.so. Those extra files may be in a package called ruby-dev and/or libruby and/or libruby-dev or anything named similarly.
    • Download GridFlow from the website and uncompress it, or get it from the SVN server.
    • Run ./configure from the gridflow directory. Make sure it detects all the components you want to use with GridFlow. In MacOS you would normally use FINK to install those extra components: libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs
    • Note: you may have to set CPLUS_INCLUDE_PATH to indicate where to find *.h files, and you may have to set both LIBRARY_PATH and LD_LIBRARY_PATH to indicate where to find *.so or *.aor *.dylib or *.bundle or *.dll or *.lib files.
    • Note: you can do ./configure --help to get a list of supported options. You can use them to ignore the presence of troublesome libraries and select debugging level. With --use-compiler you should use a version of g++, not directly a version of gcc, else you get undefined symbol problems. Some versions of gcc/g++ are troublesome.
    • Run make to produce the executables gridflow.so and gridflow.pd_linux or similar
      • Loading GridFlow:
        • PureData : With a text editor, modify or create ~/.pdrc and write -lib gridflow.
        • DesireData : In "Server Preferences", add gridflow to the list of libraries.
        Note that on MacOS the dot-files are invisible in the Finder but you do cd ~/Desktop; ln -s ../.pdrc "PureData Configuration" to make an alias on the Desktop. Note also that on Windows the dot-files are even more trouble.

Other Tips

  • 1 : you just did a SVN update and now the program does not compile, or crashes, or changes didn't go through.
    • If a new directory is created, you need to do cvs update -d. Many people just add that option to their configuration of the SVN software.
    • When some kinds of changes have happened, you may have to rerun the configure program before redoing make. If you had previously reconfigured with specific options, don't forget to use them again in this case.
    • Maybe matju forgot to upload part of an important change. Tell him.
  • PureData Crashing:
    • you can start the debugger like gdb $(which pd) core.24255 where the latter part is the name of a RAM dump file. You can enable those dumps using the shell command ulimit -c unlimited. To avoid dumping, you can also start Pd from within the debugger using gdb `which pd` then run then cause the crash.
    • In GDB, after a crash, you can use the where to find out what Pd was doing at the moment of the crash. If instead Pd is frozen, you can force it to crash using Ctrl+C in the terminal.
    • To quit GDB use the quit command. (really.)

GridFlow 0.9.1 Documentation
Copyright © 2001-2008 by Mathieu Bouchard matju@artengine.ca