Trouble compiling sunrise

41 views
Skip to first unread message

Rhys Poulton

unread,
Jul 10, 2015, 2:43:56 PM7/10/15
to sunri...@googlegroups.com
Dear all,

Im currently trying to run sunrise to get it to run, but I am running into a problem with the Blitz library which it says as follows:

sfrhist: sfrhist.cc:240: int main(int, char**): Assertion `blitz::isThreadsafe()' failed.
Aborted (core dumped)

So I recompiling the Blitz library just in case it had any errors.

Then I tried to recompile sunrise again but I found it does not  compile. This is what I have done so far to try and fix it:

libpjutil:

interpolatort.h needed modifying - having to specify self reference this-> on returning some values.

sunrise:

original download had errors - missing header files, then found gcc-fixes branch which was better.
emission.h had issues compiling - volumetric_emission& was missing some ampersand signs so was causing reference errors.

needed to use -fpermissive with gcc to ignore some warnings.

needed to rebuild blitz++ library - default apt-get package does not include serialization/mpi option enabled.


 But it still does not compile, this is the error when I try make (sorry its quite long but I don't understand the errors):


make[1]: Entering directory `/usr/local/src/sunrise/src'
[ -f hgstamp ] || touch hgstamp
echo | cmp -s hgstamp - || echo > hgstamp
g++ -DHAVE_CONFIG_H -I. -DMCRXVERSION="\"\"" -I/usr/include -I/usr/local/include -I/usr/local/include/libPJutil -I/usr/include/boost -I/usr/include/blitz -pthread -fpermissive -ggdb -O3 -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread -fpermissive -MT aux_grid_stage.o -MD -MP -MF .deps/aux_grid_stage.Tpo -c -o aux_grid_stage.o aux_grid_stage.cc
In file included from grid.h:57:0,
from emission.h:38,
from emergence.h:42,
from monitor.h:32,
from mcrx.h:36,
from grain_model.h:34,
from aux_grid_stage.cc:26:
grid_impl.h:43:16: warning: ‘mcrx::grid_cell<cell_data_type>’ is already a friend of ‘mcrx::octogrid< <template-parameter-1-1> >’ [enabled by default]
friend class grid_cell<T_data>;
^
In file included from shoot.h:36:0,
from mcrx-stage.h:43,
from aux_grid_stage.cc:29:
xfer.h:398:58: warning: declaration of ‘const T_emission& mcrx::xfer< <template-parameter-1-1>, <template-parameter-1-2> >::emission() const’ [-fpermissive]
const T_emission& emission() const { return emission_; };
^
In file included from emergence.h:42:0,
from monitor.h:32,
from mcrx.h:36,
from grain_model.h:34,
from aux_grid_stage.cc:26:
emission.h:106:13: warning: changes meaning of ‘emission’ from ‘class mcrx::emission<typename dust_model_type::T_chromatic_policy::T_base_policy, typename dust_model_type::T_rng_policy>’ [-fpermissive]
class mcrx::emission {
^
In file included from shoot.h:36:0,
from mcrx-stage.h:43,
from aux_grid_stage.cc:29:
xfer.h:426:57: warning: declaration of ‘mcrx::mpi_master<mcrx::xfer< <template-parameter-1-1>, <template-parameter-1-2> > >& mcrx::xfer< <template-parameter-1-1>, <template-parameter-1-2> >::mpi_master()’ [-fpermissive]
mpi_master<xfer>& mpi_master() { return *mpi_master_; };
^
In file included from xfer.h:39:0,
from shoot.h:36,
from mcrx-stage.h:43,
from aux_grid_stage.cc:29:
mpi_master.h:48:13: warning: changes meaning of ‘mpi_master’ from ‘class mcrx::mpi_master<mcrx::xfer< <template-parameter-1-1>, <template-parameter-1-2> > >’ [-fpermissive]
class mcrx::mpi_master {
^
In file included from grain_model_hack.h:34:0,
from mcrx-stage-impl.h:29,
from aux_grid_stage.cc:30:
molecule_grain_model.h: In member function ‘void mcrx::molecule_grain_model< <template-parameter-1-1>, <template-parameter-1-2> >::calculate_extinction_curve()’:
molecule_grain_model.h:162:5: error: ‘convert’ is not a member of ‘boost::units’
units::convert(grain_->units().get("length"),
^
molecule_grain_model.h:165:5: error: ‘convert’ is not a member of ‘boost::units’
units::convert(this->units().get("mass"),
^
make[1]: *** [aux_grid_stage.o] Error 1
make[1]: Leaving directory `/usr/local/src/sunrise/src'
make: *** [all] Error 2




Does anyone have any suggestions about how I should proceed about this, is it a problem with the boost libraries?

Also the initial problem due to the Blitz library not being built properly?

I have tried googling but it doesn't come up with anything for these problems.

Thanks in advanced,

Rhys











Chris Hayward

unread,
Jul 17, 2015, 2:40:32 PM7/17/15
to sunri...@googlegroups.com
Hi Rhys,

Do you have access to the Intel compilers? There may still be problems when compiling with gcc, so the easiest thing would be to try to build with the icc/icpc. Also, can you please confirm that you are using the exact versions of Boost and Blitz specified on the wiki (https://bitbucket.org/lutorm/sunrise/wiki/Compiling) and building them following the instructions given there?

It's possible that the transition from Google Code to Bitbucket caused some issues, so I'll double-check to make sure that I can build the Bitbucket version.

Cheers,

Chris


--
Chris Hayward
Moore Postdoctoral Scholar in Theoretical Astrophysics
California Institute of Technology
Office: Cahill 326
Phone: 626-395-6987
Mailing: Caltech 350-17
1200 E. California Blvd.
Pasadena, CA 91125

--
You received this message because you are subscribed to the Google Groups "Sunrise" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sunrisemcrx...@googlegroups.com.
To post to this group, send email to sunri...@googlegroups.com.
Visit this group at http://groups.google.com/group/sunrisemcrx.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages