![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hello,
I'm having some difficulties with building povray-3.7.0.beta.38 with Fedora 13
64-bit.
These are my POV-Ray specific configure options:
../configure COMPILED_BY="Chris3D <inf### [at] flare3d de>" --with-libpng=/usr/lib64
--with-zlib=/usr/lib64 --with-libjpeg=/usr/lib64 --with-libtiff=/usr/lib64
--with-openexr=/usr/lib64 --with-libsdl=/usr/lib64 --with-libmkl=/usr/lib64
When running make check I get an errormessage after a few minutes.
I can not figure out why I get this error. It doesn't seem to be a dependency
problem.
Here are the last few lines from the build process:
make[2]: Entering directory `/home/chris/src/povray-3.7.0.beta.38/unix'
......
.../source/backend/libbackend.a(boundingtask.o): In function
`pov::BSPProgress::operator()(unsigned int) const':
boundingtask.cpp:(.text._ZNK3pov11BSPProgressclEj[pov::BSPProgress::operator()(unsigned
int) const]+0xd1): undefined reference to `boost::this_thread::yield()'
.../source/backend/libbackend.a(tokenize.o): In function
`pov::Parser::Get_Token()':
tokenize.cpp:(.text+0x4f09): undefined reference to
`boost::this_thread::yield()'
.../source/backend/libbackend.a(radiositytask.o): In function
`pov::RadiosityTask::Run()':
radiositytask.cpp:(.text+0xd55): undefined reference to
`boost::this_thread::yield()'
.../source/backend/libbackend.a(radiositytask.o): In function
`pov::RadiosityTask::CooperateFunction::operator()()':
radiositytask.cpp:(.text._ZN3pov13RadiosityTask17CooperateFunctionclEv[pov::RadiosityTask::CooperateFunction::operator(
)()]+0x21):
undefined reference to `boost::this_thread::yield()'
.../source/backend/libbackend.a(tracetask.o): In function
`pov::TraceTask::SupersampleOnePixel(double, double, pov_base::Colour&)':
tracetask.cpp:(.text+0x14b1): undefined reference to
`boost::this_thread::yield()'
.../source/backend/libbackend.a(tracetask.o):tracetask.cpp:(.text+0x1cb1): more
undefined references to `boost::this_thread::yield()' follow
make[2]: *** [povray] Fehler 1
make[2]: Leaving directory `/home/chris/src/povray-3.7.0.beta.38/unix'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/chris/src/povray-3.7.0.beta.38'
make: *** [all] Fehler 2
Itried with my own boost build (boost 1.43):
../bootstrap.sh --prefix=/home/chris/Programme/boost
--libdir=/home/chris/Programme/boost/lib
../bjam install
Then I configured PovRay like this:
../configure COMPILED_BY="Chris3D <inf### [at] flare3d de>" --with-libpng=/usr/lib64
--with-zlib=/usr/lib64 --with-libjpeg=/usr/lib64 --with-libtiff=/usr/lib64
--with-openexr=/usr/lib64 --with-libsdl=/usr/lib64 --with-libmkl=/usr/lib64
--with-boost=/home/chris/Programme/boost/
--with-boost-lib=/home/chris/Programme/boost/lib/
That gives me:
configure: error: cannot link with the boost thread library
I tried with:
--with-boost-thread=/home/chris/Programme/boost/lib/libboost_thread.so
But:
configure: error: Could not link against
boost_thread-/home/chris/Programme/boost/lib/libboost_thread.so !
Maybe you can help me. Thank you in advance.
Chris
Latest work with PovRay: http://flare3d.de/?page_id=30
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Le Forgeron
Subject: Re: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 17 Aug 2010 09:05:09
Message: <4c6a8905$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Le 17/08/2010 14:24, chris3d a écrit :
> Hello,
>
> I'm having some difficulties with building povray-3.7.0.beta.38 with Fedora 13
> 64-bit.
>
> These are my POV-Ray specific configure options:
> ../configure COMPILED_BY="Chris3D <inf### [at] flare3d de>" --with-libpng=/usr/lib64
> --with-zlib=/usr/lib64 --with-libjpeg=/usr/lib64 --with-libtiff=/usr/lib64
> --with-openexr=/usr/lib64 --with-libsdl=/usr/lib64 --with-libmkl=/usr/lib64
>
I wonder why you need to push /usr/lib64 to compile natively.
(but how could I know, I use a 64bit ubuntu... with only COMPILED_BY &
--disable-io-restrictions (personal taste), nothing more)
What is your "native" boost library package ? (version ?)
>
> Itried with my own boost build (boost 1.43):
Ah ah! We are on something...
>
> ../bootstrap.sh --prefix=/home/chris/Programme/boost
> --libdir=/home/chris/Programme/boost/lib
> ../bjam install
>
> Then I configured PovRay like this:
>
> ../configure COMPILED_BY="Chris3D <inf### [at] flare3d de>" --with-libpng=/usr/lib64
> --with-zlib=/usr/lib64 --with-libjpeg=/usr/lib64 --with-libtiff=/usr/lib64
> --with-openexr=/usr/lib64 --with-libsdl=/usr/lib64 --with-libmkl=/usr/lib64
> --with-boost=/home/chris/Programme/boost/
> --with-boost-lib=/home/chris/Programme/boost/lib/
>
> That gives me:
> configure: error: cannot link with the boost thread library
>
> I tried with:
> --with-boost-thread=/home/chris/Programme/boost/lib/libboost_thread.so
>
> But:
> configure: error: Could not link against
> boost_thread-/home/chris/Programme/boost/lib/libboost_thread.so !
>
> Maybe you can help me. Thank you in advance.
the switch for boost in configure are more than tricky.
For instance, --with-boost-thread=XXX would use the file named
libboost_thread-XXX (from default location of lib!)
Typical usage would be --with-boost-thread=mt.so.1.40.0
(in fact, typical would be to NOT use it!)
Also, from my bogus memory, I seems to recall that shared libraries must
be trusted to get linked, which usually means that if you install away
from usual place, the linking system must be updated: ld.so.conf should
get extended and ldconfig called to flush that (and that's a work for
root, beware, you can screw your system)
If you only install in usual places (already trusted directory), then
only ldconfig need to be called.
--
Real software engineers work from 9 to 5, because that is<br/>
the way the job is described in the formal spec. Working<br/>
late would feel like using an undocumented external procedure.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Le_Forgeron <lef### [at] free fr> wrote:
> Le 17/08/2010 14:24, chris3d a écrit :
Hi,
thank you for thist fast answer.
> I wonder why you need to push /usr/lib64 to compile natively.
> (but how could I know, I use a 64bit ubuntu... with only COMPILED_BY &
> --disable-io-restrictions (personal taste), nothing more)
I had to specify those paths. Otherwise I get an incopatible lib error when
compiling. Fedora uses /usr/lib and /usr/lib64
> What is your "native" boost library package ? (version ?)
I have my self-compiled boost1.43 and the installed boost1.41 from the repo.
The devel package is installed as well.
> the switch for boost in configure are more than tricky.
> For instance, --with-boost-thread=XXX would use the file named
> libboost_thread-XXX (from default location of lib!)
> Typical usage would be --with-boost-thread=mt.so.1.40.0
> (in fact, typical would be to NOT use it!)
Thank you for this information.
With: "--with-libboost_thread=mt.so.1.43.0" configure doesn't return errors but
I get the error when building.
I tried not to use it and build PovRay with installed boost1.41 from the
repository.
My configuration:
./configure COMPILED_BY="Chris3D <inf### [at] flare3d de>" --with-libpng=/usr/lib64
--with-zlib=/usr/lib64 --with-libjpeg=/usr/lib64 --with-libtiff=/usr/lib64
--with-openexr=/usr/lib64 --with-libsdl=/usr/lib64 --with-libmkl=/usr/lib64
--with-boost-lib=/usr/lib64/
./configure runs fine with these settings but I have the same issue when
building.
> Also, from my bogus memory, I seems to recall that shared libraries must
> be trusted to get linked, which usually means that if you install away
> from usual place, the linking system must be updated: ld.so.conf should
> get extended and ldconfig called to flush that (and that's a work for
> root, beware, you can screw your system)
> If you only install in usual places (already trusted directory), then
> only ldconfig need to be called.
I called ldconfig as root. No success at all when building PovRay.
__
Latest work with PovRay: http://flare3d.de/?page_id=30
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Le Forgeron
Subject: Re: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 17 Aug 2010 11:53:57
Message: <4c6ab095@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Le 17/08/2010 16:08, chris3d nous fit lire :
> Le_Forgeron <lef### [at] free fr> wrote:
>> Le 17/08/2010 14:24, chris3d a écrit :
>
> Hi,
>
> thank you for thist fast answer.
>
>> I wonder why you need to push /usr/lib64 to compile natively.
>> (but how could I know, I use a 64bit ubuntu... with only COMPILED_BY &
>> --disable-io-restrictions (personal taste), nothing more)
>
> I had to specify those paths. Otherwise I get an incopatible lib error when
> compiling. Fedora uses /usr/lib and /usr/lib64
>
>
>> What is your "native" boost library package ? (version ?)
>
> I have my self-compiled boost1.43 and the installed boost1.41 from the repo.
> The devel package is installed as well.
It's the devel package you will be using when compiling & linking povray.
>
>
>> the switch for boost in configure are more than tricky.
>> For instance, --with-boost-thread=XXX would use the file named
>> libboost_thread-XXX (from default location of lib!)
>> Typical usage would be --with-boost-thread=mt.so.1.40.0
>> (in fact, typical would be to NOT use it!)
>
> Thank you for this information.
> With: "--with-libboost_thread=mt.so.1.43.0" configure doesn't return errors but
> I get the error when building.
I did also on my time...
>
> I tried not to use it and build PovRay with installed boost1.41 from the
> repository.
>
> My configuration:
> ./configure COMPILED_BY="Chris3D <inf### [at] flare3d de>" --with-libpng=/usr/lib64
> --with-zlib=/usr/lib64 --with-libjpeg=/usr/lib64 --with-libtiff=/usr/lib64
> --with-openexr=/usr/lib64 --with-libsdl=/usr/lib64 --with-libmkl=/usr/lib64
> --with-boost-lib=/usr/lib64/
>
> ./configure runs fine with these settings but I have the same issue when
> building.
>
Oh yes... what does libboost_thread.so link to ? (in /usr/lib64/)
"grep BOOST_ Makefile" give me:
BOOST_CPPFLAGS = -pthread -I/usr/include
BOOST_LDFLAGS = -L/usr/lib
BOOST_THREAD_LIB = -lboost_thread-mt
Now the sad note is that configure seems to have hard-coded ".../lib"
for BOOST_LDFLAGS (and ".../include" for BOOST_CPPFLAGS)
So, if at least you can install the dev-boost in a good looking tree
(foo/lib & foo/include) you might get some easy way with a basic
--with-boost=foo
Side note info: http://blog.julipedia.org/2008/06/lib64-problems.html
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Le_Forgeron <jgr### [at] free fr> wrote:
> Now the sad note is that configure seems to have hard-coded ".../lib"
> for BOOST_LDFLAGS (and ".../include" for BOOST_CPPFLAGS)
>
> So, if at least you can install the dev-boost in a good looking tree
> (foo/lib & foo/include) you might get some easy way with a basic
> --with-boost=foo
I removed the boost1.41 and boost1.41-devel packages to ensure PovRay will use
my own boostbuild.
I build boost with --prefix=/home/chris/Programme/boost
That gives me:
/home/chris/Programme/boost/lib
/home/chris/Programme/boost/include
I tried different Boost Versions (1.37, 1.43, 1.44) but I didn't get PovRay
configured.
This is the ./configure output for boost with
--with-boost=/home/chris/Programme/boost:
checking for boostlib >= 1.37... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread-gcc44-mt-1_37... yes
checking whether the boost thread library is usable... no
configure: error: in `/home/chris/src/povray-3.7.0.beta.38':
configure: error: cannot link with the boost thread library
I can't understand why there is a linking problem with the boost thread library.
I read that other people had this problem but I didn't find any solution.
__
Latest work with PovRay: http://flare3d.de/?page_id=30
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"chris3d" <ren### [at] flare3d de> wrote:
> I tried different Boost Versions (1.37, 1.43, 1.44) but I didn't get PovRay
> configured.
>
> This is the ./configure output for boost with
> --with-boost=/home/chris/Programme/boost:
>
> checking for boostlib >= 1.37... yes
> checking whether the Boost::Thread library is available... yes
> checking for exit in -lboost_thread-gcc44-mt-1_37... yes
> checking whether the boost thread library is usable... no
> configure: error: in `/home/chris/src/povray-3.7.0.beta.38':
> configure: error: cannot link with the boost thread library
>
> I can't understand why there is a linking problem with the boost thread library.
> I read that other people had this problem but I didn't find any solution.
>
> __
> Latest work with PovRay: http://flare3d.de/?page_id=30
Finally I solved the problem by creating the file /etc/ld.so.conf.d/boost.conf
with the content:
/home/chris/Programme/boost/lib
and then call ldconfig.
Thank you very much for helping.
Chris
__
Latest work with PovRay: http://flare3d.de/?page_id=30
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thanks for this thread, as it helped me to figure out how to build povray with
standard boost library in fedora13 x86_64!
I ended up taking the spec from fedora12:
http://packages.atrpms.net/dist/f12/povray/
And changing LDFLAGS during the build process to work around hardcoded /usr/lib
entries:
%build
aclocal
automake -a -c
CXXFLAGS="-Wno-multichar"
%configure COMPILED_BY="Alec Istomin" --with-boost-lib=/usr/lib64
--with-boost-thread=boost_thread-mt
export LDFLAGS="${LDFLAGS} -L/usr/lib64"
make
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |