Difference between revisions of "HowTo:Install POV"

From POV-Wiki
Jump to navigation Jump to search
m (Found out about Homebrew →‎Mac OS/X: package thanks to Clipka)
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= Installation =
 
= Installation =
 +
{{Warning/Important}}'''Diclaimer : Official instructions to build POV-Ray can be found on the Github POV-Ray source repository (pay particular attention to the list of dependencies):'''
 +
 +
 +
* In the '''/unix/README.md''' file [https://github.com/POV-Ray/povray/blob/master/unix/README.md for Unixes]
 +
* In the '''/windows/README.md''' file [https://github.com/POV-Ray/povray/blob/master/windows/README.md for Windows]
 +
These two links apply to the 3.8 development version of POV-Ray they ship with... which, by the way, is not yet an official stable version. Rather go [https://www.povray.org/beta/source/ here] or for this relative to current stable version.
 +
So be aware that the below recipes are in no way official instructions. They may even be outdated, and are just here to be considered as rather particular cases feedback that might come in handy to some lucky users.
 +
 
===Windows===
 
===Windows===
Binaries are compiled for every new version of POV-Ray and available in the Windows Download section of this page:
+
Binaries are compiled for every new version of POV-Ray and are available [http://www.povray.org/download/ on the POV-Ray website].
http://www.povray.org/download/
+
 
Running the setup.exe installer with standard options is enough to set POV-Ray up and in working order for the Blender exporter.
+
Running the setup.exe installer with standard options is enough to set POV-Ray up and in working order, though we do recommend
 +
also downloading the editor DLL's when prompted by the installer, as without the editor you will need to use another program
 +
to edit .POV source files.
 +
 
 +
Some users recommend installing POV-Ray as administrator (available in a menu from a right click on the installer) as the installer does not give you the option itself. The include files and the rest are installed under the profile of the user doing the installing by default. Make sure to explicitly switch the destination to the "Public" folder or your non-admin account during installation.
 
===Linux===
 
===Linux===
*Download the source from here:
+
*Download the source from [https://github.com/POV-Ray/povray/tree/3.7-stable GitHub].
https://github.com/POV-Ray/povray/tree/3.7-stable
 
  
 
*On older Linux distributions you may have to query-replace march=native to march=corei7 in the configure file (tested with Ubuntu 12.04 LTS 64-bit, gcc 4.6.3, and i7-4770K processor).  
 
*On older Linux distributions you may have to query-replace march=native to march=corei7 in the configure file (tested with Ubuntu 12.04 LTS 64-bit, gcc 4.6.3, and i7-4770K processor).  
Line 27: Line 38:
 
That's all, you should then have POV-Ray 3.7 installed.
 
That's all, you should then have POV-Ray 3.7 installed.
  
[http://wiki.povray.org/content/User:Le_Forgeron/vault/Compilation Here] is a page with more options for compiling.
+
[/content/User:Le_Forgeron/vault/Compilation Here] is a page with more options for compiling.
  
 
=====Slackware=====
 
=====Slackware=====
Line 106: Line 117:
  
 
=====Termux=====
 
=====Termux=====
Below is what was used to compile some unofficial and official POV-Ray 3.8 for Termux on an ''armv7 achitecture, (32bits)'' of the '''Samsung Galaxy note 3''' (both N900A and N9005, respectively with android 5 and 10):
+
Below is what was tried and finally used (# is a comment sign) ...to compile some unofficial and official POV-Ray 3.8 for Termux on an ''armv7 achitecture, (32bits)'' of the '''Samsung Galaxy note 3''' (both N900A and N9005, respectively with android 5 and 10):
 
Android versions below 7 do not have X11 repo available and therefore no libxpm. Using --without-x is thus necessary for these versions
 
Android versions below 7 do not have X11 repo available and therefore no libxpm. Using --without-x is thus necessary for these versions
 
...But more recent terminals using android v 7 and above are welcome to remove and test for some way to have the X/sdl based preview working...!
 
...But more recent terminals using android v 7 and above are welcome to remove and test for some way to have the X/sdl based preview working...!
  
<source lang="bash">
+
<pre style="color: silver; background: black; white-space: pre-wrap;">
 
termux-setup-storage
 
termux-setup-storage
 +
</pre>
 +
<source lang="bash">
 
#pkg install x11-repo #no more needed --without-x, theoretically the below libxpm neither
 
#pkg install x11-repo #no more needed --without-x, theoretically the below libxpm neither
 +
</source>
 +
 +
<pre style="color: silver; background: black; white-space: pre-wrap;">
 
pkg upgrade
 
pkg upgrade
 
pkg install -y libllvm clang autoconf automake boost imagemagick git pkg-config #libxpm #sdl
 
pkg install -y libllvm clang autoconf automake boost imagemagick git pkg-config #libxpm #sdl
 +
git clone https://github.com/POV-Ray/povray.git
 +
</pre>
 +
or to use HGPovray branch, replace the last line with:
  
git clone https://github.com/POV-Ray/povray.git
+
<pre style="color: silver; background: black; white-space: pre-wrap;">
#git clone https://github.com/LeForgeron/povray.git
+
git clone https://github.com/LeForgeron/povray.git
 +
</pre>
 +
then, get into the directory
 +
<pre style="color: silver; background: black; white-space: pre-wrap;">
 
cd /data/data/com.termux/files/home/povray/unix/
 
cd /data/data/com.termux/files/home/povray/unix/
 
bash prebuild.sh
 
bash prebuild.sh
 
cd ../
 
cd ../
 +
</pre>
  
 +
<source lang="bash">
 
#--disable-shared creates a portable app with included libraries
 
#--disable-shared creates a portable app with included libraries
 
#--without-openexr is advised to create non-redistributable only,  
 
#--without-openexr is advised to create non-redistributable only,  
Line 127: Line 151:
 
# also add -libsdl to LIBS flag when testing for the preview display...  
 
# also add -libsdl to LIBS flag when testing for the preview display...  
 
# remove --without-x in case the above works
 
# remove --without-x in case the above works
 
+
</source>
 +
<pre style="color: silver; background: black; white-space: pre-wrap;">
 
./configure COMPILED_BY="your name <email@address>" --without-x --disable-io-restrictions LIBS="-lboost_system -lboost_thread" CXX=clang++ CC=clang CFLAGS="-mcpu=native" CXXFLAGS="-mcpu=native"#--disable-shared for portable version
 
./configure COMPILED_BY="your name <email@address>" --without-x --disable-io-restrictions LIBS="-lboost_system -lboost_thread" CXX=clang++ CC=clang CFLAGS="-mcpu=native" CXXFLAGS="-mcpu=native"#--disable-shared for portable version
 +
</pre>
 +
then (the"check" is optional):
 +
<pre style="color: silver; background: black; white-space: pre-wrap;">
 +
make check
 +
</pre>
 +
the biscuit + coffee render fine.
  
 
+
When trying
make check #the biscuit + coffee render fine
+
<source lang="bash">
 
+
make install  
#make install #something's wrong with permissions?
 
 
 
 
</source>
 
</source>
 +
something's wrong with permissions so more work is required.
  
 +
('''DON'T FORGET TO REPLACE ''your name <email@address>'' WITH YOUR NAME AND EMAIL''')
 
Termux does not follow Filesystem Hierarchy Standard unlike majority of Linux distributions. You cannot find directories like /bin, /etc, /usr, /tmp and others at usual location. Thus, all programs should be patched and recompiled to meet requirements of the Termux environment otherwise they will not be able to find their configuration files or other data. In the case of POV, This limitation is not a show stopper, since command line accepts all the needed arguments.
 
Termux does not follow Filesystem Hierarchy Standard unlike majority of Linux distributions. You cannot find directories like /bin, /etc, /usr, /tmp and others at usual location. Thus, all programs should be patched and recompiled to meet requirements of the Termux environment otherwise they will not be able to find their configuration files or other data. In the case of POV, This limitation is not a show stopper, since command line accepts all the needed arguments.
 
But please do share if you know what (probably small) modification would allow the "make install" to work.  
 
But please do share if you know what (probably small) modification would allow the "make install" to work.  
 
Meanwhile a command to launch a render from povray folder working directory looks like this, outputting image to (dcim) camera gallery:
 
Meanwhile a command to launch a render from povray folder working directory looks like this, outputting image to (dcim) camera gallery:
 
+
<pre style="color: silver; background: black; white-space: pre-wrap;">
 
./unix/povray +I./distribution/scenes/advanced/grenadine/grenadine.pov +W1080 +H1920 +Fj +L./include +L./distribution/scenes/advanced/grenadine +O$HOME/storage/dcim/grenadine
 
./unix/povray +I./distribution/scenes/advanced/grenadine/grenadine.pov +W1080 +H1920 +Fj +L./include +L./distribution/scenes/advanced/grenadine +O$HOME/storage/dcim/grenadine
 +
</pre>
  
 
===Mac OS/X===
 
===Mac OS/X===
 +
Even though there is a [https://formulae.brew.sh/formula/povray#default Homebrew] package for Persistence of Vision, it is not yet as up to date as the below alternative :
 +
 
You can download some Mac builds of POV-Ray here:
 
You can download some Mac builds of POV-Ray here:
 
http://megapov.inetart.net/povrayunofficial_mac/
 
http://megapov.inetart.net/povrayunofficial_mac/
Line 149: Line 183:
 
Intel-based computers with system 10.6.8 and later (included 10.9)
 
Intel-based computers with system 10.6.8 and later (included 10.9)
 
are supported.
 
are supported.
 +
 +
Once you have downloaded the zip-file, move it to the desktop and open your Terminal application. Type in the following lines, executing each one by pressing the Return-key:
 +
<source lang="bash">
 +
cd desktop
 +
unzip POV-Ray3_7_CommandLineMacV2.zip
 +
cd PovrayCommandLineMacV2
 +
mv Povray37UnofficialMacCmd povray
 +
sudo mkdir /usr/local/bin
 +
sudo mv povray /usr/local/bin
 +
</source>
 +
After opening a new Terminal window you are ready to use the command line version of POV-Ray, by just typing the command:
 +
 +
<source lang="bash">
 +
povray
 +
</source>
 +
which should give you the standard POV-Ray startup messages.
 +
To do batch renders:
 +
<source lang="bash">
 +
povray render_one.ini ; povray render_two.ini
 +
</source>
 +
 +
 +
Should you need to pause a render, then use the following command:
 +
<source lang="bash">
 +
killall -STOP povray
 +
</source>
 +
To resume the rendering again, use:
 +
<source lang="bash">
 +
killall -CONT povray
 +
</source>
 +
You have a render that needs to be done with a high(er) priority than the render(s) you have currently running? Simple, in a new Terminal window, type the following line:
 +
<source lang="bash">
 +
killall -STOP povray ; povray priority_render.ini ; killall -CONT povray
 +
</source>
 +
And last but not least: you can use "Fire and forget" renders! Normally you would have to keep the Terminal window open while a render is in progress, however, when you type:
 +
<source lang="bash">
 +
tcsh
 +
</source>
 +
And then type the following line:
 +
<source lang="bash">
 +
povray test.ini ; zip -m test.zip *.tga ; uuencode test.zip test.zip | /usr/bin/mail -s "Rendered Image" [email protected] &
 +
</source>
 +
You may now close the Terminal window if need be, as long as the computer stays on, the render will continue in the background. You will even get the resulting file sent to you in your email!
 +
 +
Or you can have a little fun too, having your Mac talk to you, when a render has finished, by telling you so:
 +
<source lang="bash">
 +
povray test.ini ; say -v samantha "Your render has finished"
 +
</source>

Revision as of 12:03, 9 August 2021

Installation

ExclamationMark.png

Diclaimer : Official instructions to build POV-Ray can be found on the Github POV-Ray source repository (pay particular attention to the list of dependencies):


These two links apply to the 3.8 development version of POV-Ray they ship with... which, by the way, is not yet an official stable version. Rather go here or for this relative to current stable version. So be aware that the below recipes are in no way official instructions. They may even be outdated, and are just here to be considered as rather particular cases feedback that might come in handy to some lucky users.

Windows

Binaries are compiled for every new version of POV-Ray and are available on the POV-Ray website.

Running the setup.exe installer with standard options is enough to set POV-Ray up and in working order, though we do recommend also downloading the editor DLL's when prompted by the installer, as without the editor you will need to use another program to edit .POV source files.

Some users recommend installing POV-Ray as administrator (available in a menu from a right click on the installer) as the installer does not give you the option itself. The include files and the rest are installed under the profile of the user doing the installing by default. Make sure to explicitly switch the destination to the "Public" folder or your non-admin account during installation.

Linux

  • Download the source from GitHub.
  • On older Linux distributions you may have to query-replace march=native to march=corei7 in the configure file (tested with Ubuntu 12.04 LTS 64-bit, gcc 4.6.3, and i7-4770K processor).
  • Navigate from a terminal into the folder where you uncompressed it and type:
./configure COMPILED_BY="your name <email@address>"

if you get an error, whatever will follow the "configure: error: " is the names of missing libraries on your system, it could be boost, libpng, or anything... Go to your package manager such as Synaptic or whatever, and install each of them preferably the specific version which is asked for. At the end of the configure command, this should be written:

Unix man page:/usr/local/share/man
  • then type:
make
make install

That's all, you should then have POV-Ray 3.7 installed.

[/content/User:Le_Forgeron/vault/Compilation Here] is a page with more options for compiling.

Slackware

Below is the recipe used to compile POV-Ray for Slackware:

cd /media/space/software/Source/povray/povray-3.7.0/povray
git config core.sparsecheckout true
echo source/ >> .git/info/sparse-checkout
echo unix/ >> .git/info/sparse-checkout
echo vfe/ >> .git/info/sparse-checkout
echo distribution/ >> .git/info/sparse-checkout
echo doc/ >> .git/info/sparse-checkout
git remote add -f origin https://github.com/POV-Ray/povray
git pull origin master

#From https://github.com/POV-Ray/povray
# * [new branch]      3.7-stable -> origin/3.7-stable
# * [new branch]      master     -> origin/master
# * [new tag]         v3.7.0.0   -> v3.7.0.0

#Backup /media/space/software/Source/povray/povray-3.7.0/povray to
/media/space/software/Source/povray/povray-3.7.0/povray.tar.gz

cd unix/
../prebuild.sh
cd ../
../configure COMPILED_BY="your name" --with-boost-thread=boost_thread
#===============================================================================
#POV-Ray 3.7.0 has been configured.

#Built-in features:
#  I/O restrictions:          enabled
#  X Window display:          enabled (using SDL)
#  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
#  Unsupported image formats: -

#Compilation settings:
#  Build architecture:  x86_64-unknown-linux-gnu
#  Built/Optimized for: x86_64-unknown-linux-gnu (using -march=native)
#  Compiler vendor:     gnu
#  Compiler version:    g++ 4.7.1
#  Compiler flags:      -pipe -Wno-multichar -Wno-write-strings
-fno-enforce-eh-specs -s -O3 -ffast-math -march=native -pthread

#Type 'make check' to build the program and run a test render.
#Type 'make install' to install POV-Ray on your system.

#The POV-Ray components will be installed in the following directories:
#  Program (executable):       /usr/local/bin
#  System configuration files: /usr/local/etc/povray/3.7
#  User configuration files:   /home/dad/.povray/3.7
#  Standard include files:     /usr/local/share/povray-3.7/include
#  Standard INI files:         /usr/local/share/povray-3.7/ini
#  Standard demo scene files:  /usr/local/share/povray-3.7/scenes
#  Documentation (text, HTML): /usr/local/share/doc/povray-3.7
#  Unix man page:              /usr/local/share/man
#===============================================================================


make -j2
make check #the biscuit + coffee render fine
#As root
checkinstall # this does "make install" and also creates a Slackware package
#Edit 3 - Version to be 3.7.0
#This package will be built according to these values:

#1 -  Summary: [ povray ]
#2 -  Name:    [ povray ]
#3 -  Version: [ 3.7.0 ]
#4 -  Release: [ 1 ]
#5 -  License: [ GPL ]
#6 -  Group:   [ Applications/System ]
#7 -  Architecture: [ x86_64 ]
#8 -  Source location: [ povray ]
#9 -  Alternate source location: [  ]
Termux

Below is what was tried and finally used (# is a comment sign) ...to compile some unofficial and official POV-Ray 3.8 for Termux on an armv7 achitecture, (32bits) of the Samsung Galaxy note 3 (both N900A and N9005, respectively with android 5 and 10): Android versions below 7 do not have X11 repo available and therefore no libxpm. Using --without-x is thus necessary for these versions ...But more recent terminals using android v 7 and above are welcome to remove and test for some way to have the X/sdl based preview working...!

termux-setup-storage
 
#pkg install x11-repo #no more needed --without-x, theoretically the below libxpm neither
pkg upgrade
pkg install -y libllvm clang autoconf automake boost imagemagick git pkg-config #libxpm #sdl
git clone https://github.com/POV-Ray/povray.git 

or to use HGPovray branch, replace the last line with:

git clone https://github.com/LeForgeron/povray.git

then, get into the directory

cd /data/data/com.termux/files/home/povray/unix/
bash prebuild.sh
cd ../
 
#--disable-shared creates a portable app with included libraries
#--without-openexr is advised to create non-redistributable only, 
# so we still need to find a Termux package with this library.
# also add -libsdl to LIBS flag when testing for the preview display... 
# remove --without-x in case the above works
./configure COMPILED_BY="your name <email@address>" --without-x --disable-io-restrictions LIBS="-lboost_system -lboost_thread" CXX=clang++ CC=clang CFLAGS="-mcpu=native" CXXFLAGS="-mcpu=native"#--disable-shared for portable version

then (the"check" is optional):

make check 

the biscuit + coffee render fine.

When trying

make install

something's wrong with permissions so more work is required.

(DON'T FORGET TO REPLACE your name <email@address> WITH YOUR NAME AND EMAIL) Termux does not follow Filesystem Hierarchy Standard unlike majority of Linux distributions. You cannot find directories like /bin, /etc, /usr, /tmp and others at usual location. Thus, all programs should be patched and recompiled to meet requirements of the Termux environment otherwise they will not be able to find their configuration files or other data. In the case of POV, This limitation is not a show stopper, since command line accepts all the needed arguments. But please do share if you know what (probably small) modification would allow the "make install" to work. Meanwhile a command to launch a render from povray folder working directory looks like this, outputting image to (dcim) camera gallery:

./unix/povray +I./distribution/scenes/advanced/grenadine/grenadine.pov +W1080 +H1920 +Fj +L./include +L./distribution/scenes/advanced/grenadine +O$HOME/storage/dcim/grenadine

Mac OS/X

Even though there is a Homebrew package for Persistence of Vision, it is not yet as up to date as the below alternative :

You can download some Mac builds of POV-Ray here: http://megapov.inetart.net/povrayunofficial_mac/

Intel-based computers with system 10.6.8 and later (included 10.9) are supported.

Once you have downloaded the zip-file, move it to the desktop and open your Terminal application. Type in the following lines, executing each one by pressing the Return-key:

 
cd desktop
unzip POV-Ray3_7_CommandLineMacV2.zip
cd PovrayCommandLineMacV2
mv Povray37UnofficialMacCmd povray
sudo mkdir /usr/local/bin
sudo mv povray /usr/local/bin

After opening a new Terminal window you are ready to use the command line version of POV-Ray, by just typing the command:

 
povray

which should give you the standard POV-Ray startup messages. To do batch renders:

 
povray render_one.ini ; povray render_two.ini


Should you need to pause a render, then use the following command:

 
killall -STOP povray

To resume the rendering again, use:

 
killall -CONT povray

You have a render that needs to be done with a high(er) priority than the render(s) you have currently running? Simple, in a new Terminal window, type the following line:

 
killall -STOP povray ; povray priority_render.ini ; killall -CONT povray

And last but not least: you can use "Fire and forget" renders! Normally you would have to keep the Terminal window open while a render is in progress, however, when you type:

 
tcsh

And then type the following line:

 
povray test.ini ; zip -m test.zip *.tga ; uuencode test.zip test.zip | /usr/bin/mail -s "Rendered Image" [email protected] &

You may now close the Terminal window if need be, as long as the computer stays on, the render will continue in the background. You will even get the resulting file sent to you in your email!

Or you can have a little fun too, having your Mac talk to you, when a render has finished, by telling you so:

 
povray test.ini ; say -v samantha "Your render has finished"