POV-Ray : Newsgroups : povray.beta-test : Povray3.7.0beta32 on Ubuntu9.04 compilation : Povray3.7.0beta32 on Ubuntu9.04 compilation Server Time
5 Oct 2024 00:06:16 EDT (-0400)
  Povray3.7.0beta32 on Ubuntu9.04 compilation  
From: mMike
Date: 9 Jun 2009 06:45:01
Message: <web.4a2e3ccc51c950e2dc6570b40@news.povray.org>
So, how does one compile povray 3.7.0beta32?

I'm trying do do compilation on Ubuntu 9.04. The default boost-libraries that
come with ubuntu is version 1.34, wich I had installed.
..../configure, of course, failed, it requires boost 1.35 or higher.

No biggie. 'apt-get install libboost1.35-dev'. Running configure again. No
complaints. This is an excerpt from results that configure printed on stdout:

checking for boostlib >= 1.35... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
checking whether the boost thread library is usable... yes

Now, let's do make. No luck. Fails almost immediatley:

...../../source/backend/pattern/pattern.h:105:37: error: boost/unordered_map.hpp:
No such file or directory
In file included from ../../source/backend/texture/texture.h:98,
                 from povray.cpp:109:


Indeed, I don't have that file installed. I hunted for that particular file
using apt-file:

mario@mike:~/dl/povray-3.7.0.beta.32$ apt-file search unordered_map.hpp
libboost1.37-dev: /usr/include/boost/ptr_container/ptr_unordered_map.hpp
libboost1.37-dev:
/usr/include/boost/ptr_container/serialize_ptr_unordered_map.hpp
libboost1.37-dev: /usr/include/boost/tr1/unordered_map.hpp
libboost1.37-dev: /usr/include/boost/unordered/unordered_map.hpp
libboost1.37-dev: /usr/include/boost/unordered_map.hpp
mario@mike:~/dl/povray-3.7.0.beta.32$

Just to make sure, I checked how debian packaged boost libraries. One can find a
result here:
http://packages.debian.org/search?searchon=contents&keywords=unordered_map.hpp&mode=exactfilename&suite=testing&arch=an
y
(Only in debian-testing, that file is in libboost 1.37 and 1.38).

Ok, no biggie again, ubuntu has liboost1.37 packaged:

'sudo apt-get install libboost1.37-dev'

Rerun configure. Now, there are problems:

checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... no
checking for exit in -lboost_thread-boost_thread... no
configure: error: Could not link against boost_thread-boost_thread !
mario@mike:~/dl/povray-3.7.0.beta.32$

A little bit of googleing yields the 'correct' way to call the configure script:

..../configure --prefix=/home/mario/Test/povray-3.7.0beta32/
COMPILED_BY="xx### [at] mxxhr" --with-boost-thread=boost_thread-mt

Now configure ran just fine.

And make also run just fine.

So, for building povray3.7.0beta32 successfully on ubuntu 9.04 you need to have
libboost1.37 installed, and you need to call the configure script with
--with-boost-thread=boost_thread-mt option.

The only problem is that beta32 version of povray has expired. That can be
changed by peeking/poking the source, although license forbids that.

I apologize for the lengthy post but I discovered how to successfully compile
povray while writing it :)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.