POV-Ray : Newsgroups : povray.unix : Problems compiling 3.7.0.beta.38 on Fedora13 x86_64 Server Time
26 Apr 2024 12:20:20 EDT (-0400)
  Problems compiling 3.7.0.beta.38 on Fedora13 x86_64 (Message 1 to 7 of 7)  
From: chris3d
Subject: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 17 Aug 2010 08:30:00
Message: <web.4c6a7f6393917fda50048fb30@news.povray.org>
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] flare3dde>" --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] flare3dde>" --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

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>
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] flare3dde>" --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] flare3dde>" --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

From: chris3d
Subject: Re: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 17 Aug 2010 10:10:01
Message: <web.4c6a96fea6e978d650048fb30@news.povray.org>
Le_Forgeron <lef### [at] freefr> 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] flare3dde>" --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

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>
Le 17/08/2010 16:08, chris3d nous fit lire :
> Le_Forgeron <lef### [at] freefr> 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] flare3dde>" --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

From: chris3d
Subject: Re: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 17 Aug 2010 14:45:00
Message: <web.4c6ad7b0a6e978d650048fb30@news.povray.org>
Le_Forgeron <jgr### [at] freefr> 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

From: chris3d
Subject: Re: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 17 Aug 2010 15:25:00
Message: <web.4c6ae1dca6e978d650048fb30@news.povray.org>
"chris3d" <ren### [at] flare3dde> 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

From: Alec Istomin
Subject: Re: Problems compiling 3.7.0.beta.38 on Fedora13 x86_64
Date: 27 Aug 2010 17:15:00
Message: <web.4c782aada6e978d6e9b811610@news.povray.org>
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

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