#28 PLplot + Octave + Windows: choose two. (plplot_octave.cc))


Hi all,

I cannot get Octave+PLplot running under Windows XP. I got a freshly installed system, I installed Octave (via OctaveForge, binary) Strawberry Perl and MinGW (realizing later that Strawberry in fact already includes MinGW binaries) and have all three in my PATH variable. I am following the instructions on your Wiki regarding the MinGW setup but I run into trouble:

CMake runs fine, then I proceed to mingw32-make and get this:

1) Scanning dependencies of target test_nistcd
[ 11%] Generating test_nistcd_dir/cdexp1.cgm
mingw32-make[2]: *** [lib/nistcd/test_nistcd_dir/cdexp1.cgm] Error -1073741515
mingw32-make[1]: *** [lib/nistcd/CMakeFiles/test_nistcd.dir/all] Error 2
mingw32-make: *** [all] Error 2

This error can be remedied by copyinh libnistcd.dll from plplot\buildmingw\dll to plplot\buildmingw\lib\nistcd. Then i run mingw32-make again and get this:

2) [ 43%] Generating plplot_octave.cc, tmp_stub
'-' is not recognized as an internal or external command,
operable program or batch file.
matwrap: C preprocessor exited with error status
mingw32-make[2]: *** [bindings/octave/plplot_octave.cc] Error 2
mingw32-make[1]: *** [bindings/octave/CMakeFiles/plplot_octave.dir/all] Error 2
mingw32-make: *** [all] Error 2

I have traced the error to the perl script "matwrap", line ~211 (plus/minus) where it seems that the program seems to try and fork - which, in Windows, leads to problems. What can I do?

Greetings from Oslo,
Huge fan of Open Source, but unfortunately bound to Windows.


  • Werner Smekal

    Werner Smekal - 2009-08-18

    Regarding your first question: No need to copy the dlls. Unfortunately in Windows it's difficult to find a nice place for the dlls. Therefore we decided to put all dlls in the lib directory. You only need to add this path, e.g. set PATH=c:\plplot\buildmingw\dll:%PATH% , to the PATH environment variable and all dlls will be found.

    Regarding your 2nd question: We never tried to make the octave bindings run on Windows. Also it's better to ask the questions on the developer mailing list. Andrea Roach is working on the octave bindings he might be able to help you, though he has no Windows available AFAIK.

    Apart from that, if you're bound to Windows it's maybe a good idea to use Virtualbox to run a virtual Linux machine on your Windows host. Virtualbox is free and a very good program.


  • Daniel Sachse

    Daniel Sachse - 2009-08-18

    "Fook Mi, that was fast" (Austin Powers)

    You're probably right about just adding ...\dll to the PATH.

    And I'll also
    a) ask my question on the mailing list and
    b) have a look at Virtualbox.

    Still sad - the forking issue in Perl is probably solvable (replace by another recursive mechanism) and then it might even run "native" in Windows.



Log in to post a comment.