Is that a build with "good old" Studio or a build with a recent GCC?
I don't have any direct comments that would be helpful to you - but let me
know if you need a place to do some test builds and try to figure it out.
I can certainly help you with that.
[Are more Solaris-esque build slaves needed? Someone give a shout if so...
we can sponsor some infrastructure there.]
--elijah
(@Joyent)
On Mon, Dec 3, 2012 at 11:28 AM, Jon Clayden <jon.clayden@gmail.com>
wrote:
> Dear all,
>
> The current version of my RNiftyReg package is failing to compile on
CRAN's
> Solaris testbed, but I don't have access to a Solaris system to debug
on,
> and Googling the error hasn't been very helpful. The error is
>
> CC -library=stlport4 -I/home/ripley/R/cc/include -DNDEBUG -DNDEBUG
> -DRNIFTYREG -I/usr/local/include -KPIC -O -xlibmil -xtarget=native
> -nofstore -c niftyreg.cpp -o niftyreg.o
> "_reg_f3d_sym.cpp", line 25: Error: reg_f3d may not have a type
qualifier.
> "niftyreg.cpp", line 527: Where: While instantiating
> "reg_f3d_sym<double>::reg_f3d_sym(int, int)".
> "niftyreg.cpp", line 527: Where: Instantiated from
non-template code.
> "_reg_f3d_sym.cpp", line 26: Error: reg_f3d<T> cannot be
initialized
> in a constructor.
> "niftyreg.cpp", line 527: Where: While instantiating
> "reg_f3d_sym<double>::reg_f3d_sym(int, int)".
> "niftyreg.cpp", line 527: Where: Instantiated from
non-template code.
> "_reg_f3d_sym.cpp", line 26: Error: Could not find
> reg_f3d<double>::reg_f3d() to initialize base class.
> "niftyreg.cpp", line 527: Where: While instantiating
> "reg_f3d_sym<double>::reg_f3d_sym(int, int)".
> "niftyreg.cpp", line 527: Where: Instantiated from
non-template code.
> 3 Error(s) detected.
> *** Error code 2
> make: Fatal error: Command failed for target `niftyreg.o'
>
>
> (Full log at [1].) The relevant part of the source is a C++ class
> constructor, part of the library that my package interfaces to:
>
> template <class T>
> reg_f3d_sym<T>::reg_f3d_sym(int refTimePoint,int floTimePoint)
> :reg_f3d<T>::reg_f3d(refTimePoint,floTimePoint)
> {
> this->executableName=(char *)"NiftyReg F3D SYM";
>
> this->backwardControlPointGrid=NULL;
> this->backwardWarped=NULL;
> this->backwardWarpedGradientImage=NULL;
> this->backwardDeformationFieldImage=NULL;
> this->backwardVoxelBasedMeasureGradientImage=NULL;
> this->backwardNodeBasedGradientImage=NULL;
>
> this->backwardBestControlPointPosition=NULL;
> this->backwardConjugateG=NULL;
> this->backwardConjugateH=NULL;
>
> this->backwardProbaJointHistogram=NULL;
> this->backwardLogJointHistogram=NULL;
>
> this->floatingMaskImage=NULL;
> this->currentFloatingMask=NULL;
> this->floatingMaskPyramid=NULL;
> this->backwardActiveVoxelNumber=NULL;
>
> this->inverseConsistencyWeight=0.1;
>
> #ifndef NDEBUG
> printf("[NiftyReg DEBUG] reg_f3d_sym constructor called\n");
> #endif
> }
>
> The error does not occur on any Windows, Linux or OS X system which I have
> access to, so this would seem to be an issue relating to the Solaris
> compiler toolchain in particular. Can anyone shed any light on it, please?
>
> Thanks in advance,
> Jon
>
> --
> [1]
>
>
http://www.r-project.org/nosvn/R.check/r-patched-solaris-x86/RNiftyReg-00install.html
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
[[alternative HTML version deleted]]