From maechler at stat.math.ethz.ch  Thu Dec  6 16:12:49 2012
From: maechler at stat.math.ethz.ch (Martin Maechler)
Date: Thu, 6 Dec 2012 16:12:49 +0100
Subject: [Rd] Compilation failure on Solaris: any advice?
In-Reply-To: <CANQ3A2OymxgrJvr3M0pOAgsxp4+LPE5j58u+fitsCG_M3wxR9Q@mail.gmail.com>
References: <CAM9CR=0DPTdi2eh1ZSnpzQi3vPpbJKzrQg+WADby7+S40pNd4w@mail.gmail.com>
	<CANQ3A2OymxgrJvr3M0pOAgsxp4+LPE5j58u+fitsCG_M3wxR9Q@mail.gmail.com>
Message-ID: <20672.46577.43959.564387@stat.math.ethz.ch>

>>>>> 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
    >>



[Rd] Compilation failure on Solaris: any advice?
Martin Maechler