GridFlow 0.7.5 -

       

Software (and Hardware) you Probably Need

Installation process (for jMax 2.5.1 and compatible)

Installation process (with jMax 4.1.0 and compatible)

Installation process (with PureData 0.35 and compatible)

Installation process (without jMax nor PureData)

Other Tips



Software (and Hardware) you Probably Need

Required Hardware (One of...):

  • 1 : i386 : "old" IBM PC, or "new" IBM PC with old compiler
  • 2 : i686 : "new" IBM PC with recent compiler
  • 3 : ppc : "new" Macintosh
  • 4 : armv4l : Corel Netwinder
  • 5 : mips : Silicon Graphics, non-PC
  • 6 : sparc : Sun SparcStation
(but we only test i686 ourselves)

Required Software:

  • 1 : Ruby 1.6.6 or more recent (1.8.0 recommended)
  • 2 : GNU C Compiler (gcc)
  • 3 : GNU Make (gmake)

Very Recommended:

  • 1 : X11 Display Server and MIT-Xlib (already in linux)
  • 2 : one of:
    • 1 : jMax 2.5
    • 2 : jMax 4.1
    • 3 : PureData

Optional:

  • 1 : PureData 0.35 or 0.36 (support is experimental)
  • 2 : Simple Directmedia Layer (sdl)
  • 3 : Ascii Art Library (aalib)
  • 4 : HeroineWarrior's libmpeg3.so
  • 5 : HeroineWarrior's libquicktime.so
  • 6 : Greg Ward's libmpeg.so ("Berkeley/MNI")
  • 7 : a digitizer card with a Video4linux 1.x driver (videodev.h)
  • 8 : Ruby add-on "xmlparser" (for editing documentation)

NOTE: for help on installing and compiling jMax, please see Christian Klippel's extensive help file at nil as well as the jMax docs.

Also Useful:

  • 1 : Pentium-compatible CPU (for profiling)
  • 2 : CVS (for live update)

NOTE: There are several different incompatible libmpeg's from different authors; I found four of them, some numbered 2 and 3 as if they were version numbers (but it seems they are not).

NOTE: if one of your libraries are only available in .a format, you will not be able to compile GridFlow. All libraries GridFlow uses must be in .so format.

 

Installation process (for jMax 2.5.1 and compatible)

  • 1 : if you don't have jMax, get it at jMax's site .
  • 2 : Install Ruby 1.6.6 or any version released in 2002 or later (the latest from the 1.7/1.8 series work and are faster) You will need either libruby.so or libruby.a or libruby-static.a If you're using an installer and you're missing those files, then look for another package of a similar name that may contain extra files (eg: "ruby-dev"). If you're installing from source code you have to configure with the --enable-shared option. If you install into a system directory, you have to recreate the library index using the ldconfig command too (auto-installers normally do this for you).
  • 3 : Download the latest version of GridFlow and download the images pack (gridflow-images-0.5.tar.gz). The download site is artengine.ca. Unpack Gridflow in /usr/local/jmax/packages (or the path of your choice), which will create a directory called 'gridflow'; unpack the images pack into that directory, which will create another one called 'images'.
  • 4 : Run ./configure from the gridflow directory. ./configure will try to detect some optional components (libmpeg, pentium clock, etc). In the end, the files config.make, config.h and Makefile will be generated.
  • 5 : If you are not running Linux on a PentiumPro-compatible computer, you will have to specify a jMax Makefile using the --jmax-arch option. This is the one you use when installing jMax (or other jMax plugins other than GridFlow) manually. On MacOS 10, this would be ppc-macosx.
  • 6 : Stay in the same directory and do:
    • 1 : make
    • 2 : make install
    • 3 : make test
    but if one stops because of "Error" you shouldn't try the next one.
  • 7 : Load ~/.jmaxrc (text). Go to the when start section. Add a line that says package require gridflow. Add this line that says dataDirectory gridflow-directory/images
  • 8 : (Re)start jMax.

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.

--use-compiler compiler normally would be one of: g++ g++-2.95 g++-3.2 g++-3.3. Do not use something with gcc in the name, as it results in undefined symbol problems.

 

Installation process (with jMax 4.1.0 and compatible)

Same as above: [write me]
 

Installation process (with PureData 0.35 and compatible)

  • 1 : make sure m_pd.h is installed and can be seen by the compiler. you may have to change the C_INCLUDE_PATH environment variable.
  • 2 : go in GridFlow's source directory.
  • 3 : run ./configure
  • 4 : run make
  • 5 : run make install
  • 6 : run make test
  • 7 : run pd with the -path to the extras directory and -lib gridflow, or put those options in your ~/.pdrc file. (this part is essentially the same as GEM's and PDP's)
 

Installation process (without jMax nor PureData)

  • 1 : If you don't have jMax installed it won't be detected. Installation will proceed normally except that the Ruby-for-jMax bridge won't be installed. Try running 'make test'. Look at 'tests/test.rb' for an example of how you may use GridFlow without jMax.
 

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 : Did you forget the "make install" step?
    • 2 : 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.
    • 3 : When some kinds of changes have happen, 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.
    • 4 : Maybe matju forgot to checkin part of an important change. Tell him.
  • 2 : Crashing:
    • 1 : you should know where the FTS executable file is. Its filename looks like "/usr/lib/jmax/fts/bin/i686-linux/opt/fts". we'll call it $FTS now.
    • 2 : if you want to prevent a complete machine crash, you should not run fts as "root" user, and you should do chmod u-s on the $FTS file. I recommend that you work that way until the fts crash problem is fixed, and only run it again as root only when you have a good reason to do so.
    • 3 : by running the command "ulimit -c unlimited" before starting jmax (from the same shell) will cause a crash to write the program's RAM into a file named "core" in the current directory. The filename may vary slightly, for example it may be suffixed with a unique number.
    • 4 : you can read this file in a semi-friendly way by doing "gdb $FTS core" right after that. what you need to do with that is usually just to type "backtrace" and then "quit". the first command will print a list of functions active during the crash. the bug is usually in one close to the top of the list.
  • 3 : Corrupted jMax file:
    • 1 : remember that FTP transfers in ASCII mode only work on certain kind of files, to transform them from Windows flavour to Unix flavour and back. It is completely irrelevant to .jmax files (as well as most image/sound/movie files) and if used in such a case it is harmful. You have to redownload using the other mode called binary which does not change the file at all.
    • 2 : files saved by jMax 4 cannot be reloaded in jMax 2.5; I currently have no cure for this other than to still edit with jMax 2.5. I estimate that it would be rather easy to create a converter from one variant to another. Contact me (matju) if you need to convert from version 4 to version 2.5.
    • 3 : CVS conflict: CVS may try to merge differences between jmax files as if they were text files, if CVS is not aware that it shouldn't do anything special with them. Same may happen with other kinds of files. Fortunately, your previously working file is renamed as hidden file with a ".#" prefix. The new working file is available by removing the corrupted one and doing cvs update again.
 

GridFlow 0.7.5 Documentation
Copyright © 2001,2002,2003 by Mathieu Bouchard matju@artengine.ca