1.1 : On unix systems, when I run a PyDSTool script involving a C-based ODE integrator, I get the error: "don't know how to compile C/C++ code on platform 'posix' with 'gcc' compiler". How do I fix it?
The most likely problem is that Python's compiler, accessed through the 'distutils' package, is looking at an environment variable 'CC' that is set wrong. Go to the Python installation directory's /lib/python2.4/config/Makefile. Grep that file for gcc and see if the first line returned starts with CC = gcc ... e.g. something like this
$ cd python_installation_dir
$ grep -n gcc /lib/python2.4/config/Makefile
If this entry is not set correctly you might have to rebuild Python with that entry changed by hand.
You should also see what your shell's CC is set to, e.g. using the 'set' command from the unix prompt. There is an identically-named environment variable in the shell, which may not be the critical one to have set correctly. The shell environment variable CC does not necessarily have to be set to 'gcc'. If the makefile is correct for you, but the shell CC is not, you could try 'export CC=gcc' or 'set CC=gcc' before the python session to see if that works. ... and please let me know the outcome!
1.2 : Are there going to be installers available for the different platforms?
For unix systems we are developing a shell script using autoconf that will collect and compile appropriate versions of the sources for the underlying libraries and their dependencies. Windows installation from binaries is relatively simple in comparison, but Windows users wishing to install using a comparable script will probably have to have a unix-like shell already available (such as Cygwin or MinGW's MinSys). We are also investigating the use of a proper Python setup.py installer for PyDSTool itself.
There are problems in Python when trying to express powers in the form x^p, where x and p are floating point numbers. The safest solution is to use the syntax pow(x,p) or x**p instead. PyDStool provides a utility called 'convertPowers(my_string, target)' which will automatically convert expressions involving powers (using any mixture of ^, **, or pow()), and return the converted string. The target argument must be a string: '^', '**', or 'pow'.