Difference between revisions of "HowTo:Install POV"

From POV-Wiki
Jump to navigation Jump to search
m
m (Found out about Homebrew →‎Mac OS/X: package thanks to Clipka)
Line 176: Line 176:
  
 
===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/

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"