povray

Why do my old Povray files not work in a new installation?


I have just installed Povray on a new computer. Suddenly, files that have always worked before produce weird errors.

6.pov should render this image of a cube. But apparently the #for gets confused for a variable:

File: 6.pov  Line: 21
File Context (5 lines):

union{
    #for
Parse Error: No matching } in 'union', undeclared identifier 'for' found instead

Any use of SolidFromFaceNormalPoints.inc (e.g. in SolidFromFaceNormalPoints.pov) throws the following error:

File: /home/me/Povray/include/SolidFromFaceNormalPoints.inc  Line: 22
File Context (5 lines):
        #for (Index, 0, Len-1)
            PointCutter( Points[Index], Offset )
        #end
    }
Parse Error: Expected 'object or directive', } found instead

I do not see anything wrong in these files. And as I mentioned, they have worked before.

My version is 3.6.1. I am not sure, which version I have used before.

me@z3:~/Code/convex_polyhedra/2b_colors_png/finished_pov/8$ povray 6.pov 
Persistence of Vision(tm) Ray Tracer Version 3.6.1 (g++ 3.4.1 @
 i686-pc-linux-gnu)

Some files still work, e.g. PointCutter.pov.

Here is some documentation about the functions used.


Solution

  • It works after I installed version 3.7.

    Persistence of Vision(tm) Ray Tracer Version 3.7.0.8.unofficial (g++ @
     x86_64-pc-linux-gnu)
    This is an unofficial version compiled by:
     Dimitri John Ledkov <xnox@ubuntu.com> for Debian <www.debian.org>
    

    It was quite a pain. These steps worked for me:

    I found it in the Synaptic Package Manager.

    enter image description here

    The INI file was initially in /usr/share/povray-3.7/ini/, but the console output complained about its absence in /home/me/.povray/3.7, so I moved it there.

    I appended the folders for the default and my own include files:

    Library_Path=/usr/share/povray-3.7/include/
    Library_Path=/home/me/Povray/include/
    

    It still complains, that there is no povray.conf, but I see no problem.