GridFlow 0.9.0 - Installation

       

Hardware and Software you Probably Need

Downloading from CVS

Installation instructions (incl. compilation)

Other Tips



Hardware and Software you Probably Need

Required Computer/Processor (one of...):

  • 1 : PC : AMD K6/K7/K8 or Intel P2/P3/P4 (absolute minimum is 386)
  • 2 : Macintosh : G3/G4/G5 (anyone tried with an intel?)
  • 3 : Corel NetWinder : StrongARM V4L used to work
  • 4 : HP iPaq : some processor that works like the NetWinder
  • 5 : could work on SiliconGraphics and SPARCstation with a little nurture.

Required OS (one of...):

  • 1 : Linux (most any variant) (recommended)
  • 2 : FreeBSD, NetBSD, OpenBSD
  • 3 : MacOS 10.2 or later (experimental)
  • 4 : Windows with MinGW (very experimental)
  • 5 : Solaris (used to work)

Required Software:

  • 1 : Ruby 1.9 2005 (make sure you have the *.so and *.h files)

Dataflow Software:

  • 1 : PureData 0.37 or later (recommended)

Multimedia Components (optional):

  • 1 : libSDL (Simple Directmedia Layer)
  • 2 : libjpeg
  • 3 : libpng
  • 4 : libmpeg3 (.mpg reader, HeroineWarrior's)
  • 5 : libquicktime (.mov reader/writer, Burkhard Plaum's or HeroineWarrior's)
  • 6 : libmpeg (.mpg reader, Greg Ward's, old)
  • 7 : Apple QuickTime (.mov reader/writer)
  • 8 : Ascii Art Library (aalib)
  • 9 : PCI video digitizer card (and Video4linux 1 driver)
  • 10 : USB camera (and Video4linux 1 driver)
  • 11 : ltilib
  • 12 : FFTW3

Developer Tools (roll-your-own):

  • 1 : GNU C++ Compiler (gcc/g++) version 3.x or maybe 2.95
  • 2 : GNU Make (gmake)
  • 3 : CVS (for upgrading/collaboration)
  • 4 : Ruby library "xmlparser" (optional, for editing documentation)
  • 5 : Developer Tools CD dec 2002 (if MacOS 10.2)
  • 6 : XCODE (if MacOS 10.3)
  • 7 : FINK (if MacOS 10)

NOTE: Apparently GCC 2.x has problems dealing with *.a components; if that affects you, use *.so files instead.

 

Downloading from CVS

The CVS 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 CVS edition, so here's how:

Make sure you have the cvs program installed.

mkdir -p /pd/extra/gridflow (make a directory; it could be called otherwise if you like)

cd /pd/extra/gridflow (go in that directory)

cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow login (the password is blank)

cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow checkout . (download the first time)

And the subsequent times, you only do this:

cd /pd/extra/gridflow

cvs update -dP

 

Installation instructions (incl. compilation)

  • 1 : Install Ruby. Make sure it contains ruby.h and intern.h and related files. It's also recommended to have libruby.so. Those extra files may be in a package called ruby-dev if you are using RPM or DEB/FINK. If you are building Ruby yourself, it's better to configure ruby with --enable-shared, else you won't have libruby.so (but you will still have libruby.a). If you need to have two Rubies at once, for example Ruby 1.8 for running Rails and Ruby 1.9 for running GridFlow, you may build Ruby 1.9 with the option --program-suffix=19 which will help distinguish the two Rubies. It's also possible to have two Rubies installed without that option, but it might be complicated. If you install into a system directory, you may have to run ldconfig after installing Ruby.
  • 2 : Download GridFlow from the website and uncompress it, or get it from the CVS server.
  • 3 : Run ./configure from the gridflow directory. Make sure it detects all the components you want to use with GridFlow. If your OS is Debian or Ubuntu you would run ruby1.9 configure instead so that it doesn't use ruby 1.8. In MacOS you would normally use FINK to install those extra components: libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs
  • 4 : 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.
  • 5 : 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.
  • 6 : Run make to produce the executables gridflow.so and gridflow.pd_linux or similar
  • 7 : With a text editor, create ~/.gridflow_startup and write something like GridFlow.data_path << "/pd/extra/gridflow/images" to tell GridFlow where to find additional folders containing images or movies you want to use with GridFlow.
  • 8 : Ltilib (optional, linux only): The LTI-Lib is an object oriented library with algorithms and data structures frequently used in image processing and computer vision.
    • 1 : Download and install ltilib version 1.9.15 from http://ltilib.sourceforge.net/
    • 2 : in optional/rblti do: make
  • 9 : Loading GridFlow:
    • 1 : PureData : With a text editor, modify or create ~/.pdrc and write -lib gridflow.
    • 2 : ImpureData : In the ".pdrc editor", add gridflow to the list of libraries.
    • 3 : plain Ruby : the command require "gridflow" will load gridflow.so.
    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 CVS update and now the program does not compile, or crashes, or changes didn't go through.
    • 1 : If a new directory is created, you need to do cvs update -d. Many people just add that option to their configuration of the CVS software.
    • 2 : 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.
    • 3 : Maybe matju forgot to upload part of an important change. Tell him.
  • 2 : PureData Crashing:
    • 1 : 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.
    • 2 : 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.
    • 3 : To quit GDB use the quit command. (really.)
 

GridFlow 0.9.0 Documentation
Copyright © 2001-2007 by Mathieu Bouchard matju@artengine.ca