POV-Ray : Newsgroups : povray.unix : Compiling POVRay RC6 for the Stampede Cluster Server Time
21 Dec 2024 11:15:44 EST (-0500)
  Compiling POVRay RC6 for the Stampede Cluster (Message 1 to 5 of 5)  
From: waggy
Subject: Compiling POVRay RC6 for the Stampede Cluster
Date: 10 Jan 2013 18:55:00
Message: <web.50ef5487407b567421be1230@news.povray.org>
I am not getting POVRay to compile, neither for the usual E5 mainboard, nor for
runing on the 61-core teraflop coprocessor. I'd like some idea if I've made one
or more boneheaded mistakes before submitting a support ticket to the admins
here. Thanks!

http://www.tacc.utexas.edu/user-services/user-guides/stampede-user-guide#appdev-compiling

I can get it configured fine for running on the E5 mainboard.

module load boost/1.51.0

export CC=icc
export CFLAGS="-O3 -xhost"
export CXX="${CC}"
export CXXFLAGS="${CFLAGS}"
export NON_REDISTRIBUTABLE_BUILD=yes

../configure COMPILED_BY="My Name <abc### [at] myutsaedu>" \
--prefix=$HOME/e5/bin \
--with-boost=$TACC_BOOST_DIR \
--without-libjpeg \
--without-libtiff \
--enable-static

But make stops at this.

icc -DHAVE_CONFIG_H -I. -I../..  -I../.. -I../../source -I../../source
-I../../source/base -I../../unix -I../../vfe -I../../vfe/unix -pthread
-I/opt/apps/intel13/boost/1.51.0/include  -I/usr/include  -pipe -Wno-multichar
-Wno-write-strings -s -O3 -ip -xHost -O3 -xhost -pthread -MT view.o -MD -MP -MF
..deps/view.Tpo -c -o view.o `test -f 'scene/view.cpp' || echo
'./'`scene/view.cpp
scene/view.cpp(1553): error: namespace "boost" has no member "TIME_UTC"
        boost::xtime_get (&t, boost::TIME_UTC);
                                     ^

compilation aborted for scene/view.cpp (code 2)
[The caret is pointing to the T in TIME_UTC.]

Configure recognizes that I am attempting to cross-compile when I add the -mmic
flag.

export CFLAGS="-O3 -mmic"
export CXXFLAGS="${CFLAGS}"

../configure COMPILED_BY="My Name <abc### [at] myutsaedu>" \
--host=x86_64-unknown-linux-gnu \
--prefix=$HOME/mic/bin \
--with-boost=$TACC_BOOST_DIR \
--without-libjpeg \
--without-libtiff \
--enable-static

But configure aborts with this.

checking for boostlib >= 1.37... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... no
checking for exit in -lboost_thread... (cached) no
checking for exit in -lboost_thread... (cached) no
configure: error: Could not link against boost_thread !


Post a reply to this message

From: clipka
Subject: Re: Compiling POVRay RC6 for the Stampede Cluster
Date: 10 Jan 2013 20:03:14
Message: <50ef64d2@news.povray.org>
Am 11.01.2013 00:53, schrieb waggy:
> I am not getting POVRay to compile, neither for the usual E5 mainboard, nor for
> runing on the 61-core teraflop coprocessor. I'd like some idea if I've made one
> or more boneheaded mistakes before submitting a support ticket to the admins
> here. Thanks!

> icc -DHAVE_CONFIG_H -I. -I../..  -I../.. -I../../source -I../../source
> -I../../source/base -I../../unix -I../../vfe -I../../vfe/unix -pthread
> -I/opt/apps/intel13/boost/1.51.0/include  -I/usr/include  -pipe -Wno-multichar
> -Wno-write-strings -s -O3 -ip -xHost -O3 -xhost -pthread -MT view.o -MD -MP -MF
> ...deps/view.Tpo -c -o view.o `test -f 'scene/view.cpp' || echo
> './'`scene/view.cpp
> scene/view.cpp(1553): error: namespace "boost" has no member "TIME_UTC"
>          boost::xtime_get (&t, boost::TIME_UTC);
>                                       ^

This is a known compatibility issue with boost versions 1.50 or higher.

While the root cause of the issue is boost 1.50 breaking 
backward-compatibility (for good reason), the POV-Ray dev team does 
consider this a POV-Ray issue; it will be fixed with the next POV-Ray 
release.

Until then, I suggest linking against an older version of boost; 
alternatively, the patch suggested at

     http://bugs.povray.org/task/260?project=2

should get you going.


Post a reply to this message

From: clipka
Subject: Re: Compiling POVRay RC6 for the Stampede Cluster
Date: 10 Jan 2013 20:15:49
Message: <50ef67c5$1@news.povray.org>
Am 11.01.2013 00:53, schrieb waggy:

> Configure recognizes that I am attempting to cross-compile when I add the -mmic
> flag.
>
> export CFLAGS="-O3 -mmic"
> export CXXFLAGS="${CFLAGS}"
>
> .../configure COMPILED_BY="My Name <abc### [at] myutsaedu>" \
> --host=x86_64-unknown-linux-gnu \
> --prefix=$HOME/mic/bin \
> --with-boost=$TACC_BOOST_DIR \
> --without-libjpeg \
> --without-libtiff \
> --enable-static
>
> But configure aborts with this.
>
> checking for boostlib >= 1.37... yes
> checking whether the Boost::Thread library is available... yes
> checking for exit in -lboost_thread... no
> checking for exit in -lboost_thread... (cached) no
> checking for exit in -lboost_thread... (cached) no
> configure: error: Could not link against boost_thread !

Cross-compiling POV-Ray might be tricky: To my knowledge, the 
./configure script tries to compile, link /and/ run various short test 
programs with the chosen settings to see whether everything works as 
expected, and/or to auto-detect which settings it needs to use. 
Obviously, if those test programs are cross-compiled for a different 
target they won't run on the machine you're compiling on, and 
./configure will think something went wrong, and/or will be unable to 
auto-detect certain settings. Maybe this is what's happening to you there.


Post a reply to this message

From: waggy
Subject: Re: Compiling POVRay RC6 for the Stampede Cluster
Date: 10 Jan 2013 20:25:00
Message: <web.50ef69404f0d1c1f21be1230@news.povray.org>
> But make stops at this.
>
> icc -DHAVE_CONFIG_H -I. -I../..  -I../.. -I../../source -I../../source
> -I../../source/base -I../../unix -I../../vfe -I../../vfe/unix -pthread
> -I/opt/apps/intel13/boost/1.51.0/include  -I/usr/include  -pipe -Wno-multichar
> -Wno-write-strings -s -O3 -ip -xHost -O3 -xhost -pthread -MT view.o -MD -MP -MF
> ..deps/view.Tpo -c -o view.o `test -f 'scene/view.cpp' || echo
> './'`scene/view.cpp
> scene/view.cpp(1553): error: namespace "boost" has no member "TIME_UTC"
>         boost::xtime_get (&t, boost::TIME_UTC);
>                                      ^
>
> compilation aborted for scene/view.cpp (code 2)
> [The caret is pointing to the T in TIME_UTC.]

This one turned out to be fairly easy to fix. Apparently, Boost 1.50 changed the
name. I brute-forced a find and replace.

find . -name "*.cpp" -print | xargs sed -i 's/TIME_UTC/TIME_UTC_/g'

Here is the benchmark run on a shared login node (2xE5-2680, 2.7GHz).

povray -benchmark
[snip]
Render Time:
  Photon Time:      0 hours  0 minutes  2 seconds (2.343 seconds)
              using 19 thread(s) with 2.640 CPU-seconds total
  Radiosity Time:   No radiosity
  Trace Time:       0 hours  1 minutes 10 seconds (70.311 seconds)
              using 16 thread(s) with 1100.034 CPU-seconds total
povray: removing /tmp/pov10345.ini
povray: removing /tmp/pov10345.pov
POV-Ray finished


Post a reply to this message

From: waggy
Subject: Re: Compiling POVRay RC6 for the Stampede Cluster
Date: 10 Jan 2013 20:40:00
Message: <web.50ef6cd24f0d1c1f21be1230@news.povray.org>
clipka wrote:
> Until then, I suggest linking against an older version of boost;
> alternatively, the patch suggested at
>
>      http://bugs.povray.org/task/260?project=2

> should get you going.

Thank you very much. I can live with a simple find-and-replace workaround on my
end until RC7 comes out.


Post a reply to this message

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