#36172: povray 3.7 fails with thread-local storage not supported ----------------------------+-------------------------------- Reporter: peyser.alex@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: | Keywords: Port: povray | ----------------------------+-------------------------------- Comment (by ryandesign@…): Replying to [ticket:36172 peyser.alex@…]:
Povray was updated in a recent ticket because of libpng. But I can't find a version of gcc on osx lion that actually compiles it --- and as far as I can tell, it may require some version of clang (??? possibly ???).
The log you attached shows that you are on OS X 10.6 Snow Leopard, not Lion.
{{{ :info:build /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../source -I../../source -I../../source/base -I../../unix -I../../vfe -I../../vfe/unix -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -D_THREAD_SAFE -I/opt/local/include/OpenEXR -I/opt/local/../include -I/opt/local/../include -I/opt/local/../include -I/opt/local/../include -I/opt/local/include -pthread -I/opt/local/include -I/usr/include -pipe -Wno-multichar -Wno-write-strings -fno-enforce-eh-specs -s -O3 -ffast-math -pipe -O2 -arch x86_64 -D_THREAD_SAFE -MT bbox.o -MD -MP -MF .deps/bbox.Tpo -c -o bbox.o `test -f 'bounding/bbox.cpp' || echo './'`bounding/bbox.cpp }}}
The povray port does not specify a compiler, so it uses the default compiler MacPorts specifies. You appear to have Xcode 3.x, because MacPorts has chosen to use GCC 4.2 to compile this port.
{{{ :info:build make[3]: *** [boundingtask.o] Error 1 :info:build make[3]: *** Waiting for unfinished jobs.... :info:build In file included from ../../source/backend/scene/threaddata.h:101, :info:build from bounding/bbox.cpp:107: :info:build ../../source/backend/support/task.h:187: error: thread-local storage not supported for this target :info:build make[3]: *** [bbox.o] Error 1 }}}
You should report this problem to the developers of povray; they need to fix it to be compatible with GCC on OS X. You could point them to [http://lifecs.likai.org/2010/05/mac-os-x-thread-local-storage.html this page] which seems to explain the problem. It compiled fine for me on Mountain Lion with Xcode 4.4 and clang, so presumably clang does now have an implementation of thread-local storage (and that page does not mention that). Replying to [comment:2 peyser.alex@…]:
Tried with mp-gcc47, mp-gcc46, llvm-gcc42 (I think, since I set port select gcc before port install)
Most ports including povray deliberately do not use what you set with "port select gcc". If you want to specify a different compiler, you would do it like this: {{{ sudo port clean povray sudo port install povray configure.compiler=clang }}} or: {{{ sudo port clean povray sudo port install povray configure.compiler=llvm-gcc42 }}} -- Ticket URL: <https://trac.macports.org/ticket/36172#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS