POV-Ray

The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.

Attached to Project: POV-Ray
Opened by David Ronis - 2009-06-09
Last edited by Christoph Lipka - 2010-08-29

FS#34 - configure: error: Could not link against boost_thread-boost_thread !

I’ve been trying to upgrade povray 3.6.1 to 3.7-beta-32. I’ve configured with no additional arguments, and the configure dies with:

checking whether to build the boost thread library from sources... no
checking for boostlib >= 1.35... yes
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 !

I figured that the problem was with my boost installation (1.35) and upgraded boost to 1.39; the problem remains. I tried to see if exit was defined in libboost_thread and/or libboost_thread-boost_thread and it isn’t. Just to be sure that my currrent setup works for the released version, I rebuilt/reninstalled 3.6.1, which went without problem.

I’m on a slackware-12.2 box, using gcc-4.4.0.

Closed by  Christoph Lipka
Sunday, 29 August 2010, 20:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  

No further feedback since ages, so presuming problem solved.

Nicolas Calimet commented on Thursday, 11 June 2009, 00:05 GMT

Please attach the config.log file.

David Ronis commented on Thursday, 11 June 2009, 00:33 GMT

The file is attached.

Nicolas Calimet commented on Monday, 15 June 2009, 20:43 GMT

Please try the attached configure file in place of that coming with beta.32.

David Ronis commented on Monday, 15 June 2009, 21:01 GMT

The new configure still dies:

checking for boostlib >= 1.36... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread-gcc44-mt-1_39... yes
checking whether the boost thread library is usable... no
configure: error: in `/home/ronis/povray-3.7.0.beta.32':
configure: error: cannot link with the boost thread library
See `config.log' for more details.

ls -l prefix/libboost_thread* shows:

ls -l /usr/local/lib/libboost_thread-gcc44-mt*
-rw-r–r– 1 root root 132210 2009-06-09 13:24 /usr/local/lib/libboost_thread-gcc44-mt-1_39.a
lrwxrwxrwx 1 root root 39 2009-06-09 13:24 /usr/local/lib/libboost_thread-gcc44-mt-1_39.so → libboost_thread-gcc44-mt-1_39.so.1.39.0*
-rwxr-xr-x 1 root root 77812 2009-06-09 13:24 /usr/local/lib/libboost_thread-gcc44-mt-1_39.so.1.39.0*
lrwxrwxrwx 1 root root 31 2009-06-09 13:24 /usr/local/lib/libboost_thread-gcc44-mt.a → libboost_thread-gcc44-mt-1_39.a
lrwxrwxrwx 1 root root 39 2009-06-09 13:24 /usr/local/lib/libboost_thread-gcc44-mt.so → libboost_thread-gcc44-mt-1_39.so.1.39.0*

So the library is there.

I've attached config.log

David Ronis commented on Monday, 15 June 2009, 21:12 GMT

I manually copied the conftest to a file and ran the g++ command as indicated in the log.

/usr/bin/g++ -o conftest -march=pentium4 -msse2 -mfpmath=sse -O3 -ffast-math -funroll-loops -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block -pthread -pthread -I/usr/local/include -L/usr/local/lib boost.cc -lboost_thread-gcc44-mt-1_39 -pthread
{ronispc:158} echo $?
0

It still died when I ran it (same error message). It turns out that I'd forgotten to run ldconfig after upgrading boost. When I do configure finishes without complaint. The build dies either as:

make
make all-recursive
make[1]: Entering directory `/home/ronis/povray-3.7.0.beta.32'
Making all in libraries
make[2]: Entering directory `/home/ronis/povray-3.7.0.beta.32/libraries'
make[2]: * No rule to make target `all'. Stop.
make[2]: Leaving directory `/home/ronis/povray-3.7.0.beta.32/libraries'
make[1]:
* [all-recursive] Error 1
make[1]: Leaving directory `/home/ronis/povray-3.7.0.beta.32'
make: *** [all] Error 2

Nicolas Calimet commented on Monday, 15 June 2009, 21:51 GMT

config.log: yes it was clear that you had a run-time check problem that you solved running ldconfig.

For the last make problem: this is expected as some changes have been made in the Makefile.am templates (basically the libraries/ folder is gone in the next beta).
Try to edit the povray-3.7.0.beta.32/Makefile.in (or Makefile.am if you can run the bootstrap script) to remove all references to "libraries", and configure && make again.

David Ronis commented on Monday, 15 June 2009, 22:49 GMT

Ok, removing the library references in Makefile.in and rerunning configure gets me much farther. The build still dies though with:

unix/unixconsole.cpp: In function 'void PrintVersion()':
unix/unixconsole.cpp:318: error: 'BUILTIN_SVGA_DISPLAY' was not declared in this scope
make[2]: *** [unixconsole.o] Error 1

Nicolas Calimet commented on Tuesday, 16 June 2009, 08:50 GMT

Well, support for the SVGA lib is also dropped in the next beta. You can safely remove all references to it as well.
I'll be sending you a test version of beta.33 by mail in case you keep hitting this kind of non-issues.

David Ronis commented on Tuesday, 16 June 2009, 16:54 GMT

OK, I deleted the reference to BUILTIN_SVGA_DISPLAY in unixconsole.cpp and can compile further. Now it dies with:

/usr/bin/g++ -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O3 -ffast-math -malign-double -march=native -march=pentium4 -msse2 -mfpmath=sse -O3 -ffast-math -funroll-loops -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block -pthread -L/usr/local/lib -L/usr/lib -o povray disp_sdl.o disp_text.o ../vfe/libvfe.a ../source/backend/libbackend.a ../source/frontend/libfrontend.a ../source/base/libbase.a ../source/libpovray.a @LIBBOOST_THREAD@ -lSDL -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lXpm -lSM -lICE -lX11 -lIlmImf -L/usr/local/lib -lIlmImf -lImath -lHalf -lIex -lz -lIlmThread -ltiff -ljpeg -lpng12 -lz -lrt -lm -lboost_thread-gcc44-mt-1_39 -pthread
g++: @LIBBOOST_THREAD@: No such file or directory

@LIBBOST_THREAD@ should be replaced by the actual -lxxx library directive, no?

David Ronis commented on Tuesday, 16 June 2009, 17:01 GMT

I manually put in the boost library into unix/Makefile and removed @LIBBOOST_THREAD@. Everything compiles now. Whew!

However, make check gives:

./unix/povray +i./scenes/advanced/biscuit.pov -f +d +p +v +w320 +h240 +a0.3 +L./include
povray: this pre-release version of POV-Ray for Unix has expired
make: *** [check] Error 1

Sheesh, I finished compling a minute ago. :)

Thanks for your help.

Nicolas Calimet commented on Tuesday, 16 June 2009, 20:31 GMT

Use the expiry extension feature for now.

David Ronis commented on Tuesday, 16 June 2009, 21:45 GMT

That did it. Again, thanks for your help.

Grimbert Jérôme commented on Tuesday, 22 September 2009, 07:09 GMT

Beware: current (beta 34) configure checks "checking for boostlib >= 1.36"
Despite the words on the beta page about 1.37 (which should be ok)

Please update configure to check > 1.36, or >= 1.37

Admin
Christoph Lipka commented on Saturday, 19 June 2010, 12:34 GMT

Any news on this issue? Can we call this case closed?

Grimbert Jérôme commented on Sunday, 04 July 2010, 17:01 GMT

I compiled & installed 3.7beta38 with boost 1.40 without any issue (new system, fresh from ubuntu) related to thread library (no special handling, a real pleasure).

I would agree on a close on timeout.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing