[Rd] Compilation failure on Solaris: any advice?
Martin Maechler
maechler at stat.math.ethz.ch
Thu Dec 6 16:12:49 CET 2012
>>>>> elijah wright <elw at stderr.org>
>>>>> on Wed, 5 Dec 2012 14:23:51 -0600 writes:
> 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.]
`` shout! ''
as long we (R community at large "in principle", de facto,
AFAIK, Prof Brian Ripley)
can have a Solaris testbed for CRAN which is reflected in the
CRAN package check, it would be really great if someone provided
a "Solaris-builder" server similar to the
win-builder.r-project.org one that Uwe (and his Depaertment/
University) provides.
Martin
> --elijah
> (@Joyent)
> On Mon, Dec 3, 2012 at 11:28 AM, Jon Clayden <jon.clayden at 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
>>
More information about the R-devel
mailing list