tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Sunpro bootstrapping issue

I've installed a Sparc IIIi machine with Solaris 10 and the current SunPro 
The latter are installed in /opt/sunstudio12.1 and also symlinked to /usr/bin, 
which are the standard settings with the installer.
Now when I bootstrap with that setup using --abi=64, it fails very much like 
reported in pkg/42240.



SUNWSPROBASE?=          /opt/SUNWspro
_COMPILER_NAME.c=       cc

and then only if ${SUNWSPROBASE}/bin/cc exists it will set CPATH to 

further below we have

.if exists(${CCPATH})
CC_VERSION_STRING!=     ${CCPATH} -V 2>&1 || ${TRUE}
CC_VERSION!=            ${CCPATH} -V 2>&1 | ${GREP} '^cc'
CC_VERSION?=            cc: Sun C

this means in my case I end up having CC_VERSION default to "cc: Sun C"
And so a bit further down 

.if !empty(CC_VERSION:M5.9) || !empty(CC_VERSION:M5.1[0-9])

does not match and I do erroneously end up with

_COMPILER_ABI_FLAG.64=  -xtarget=ultra -xarch=v9

simply because pkgsrc tries to evaluate the full path of the compiler and, 
during bootstrapping, mandates that it is to be found in /opt/SUNWspro

Now what's the correct way to fix that? It seems like pkgsrc is intensionally 
using fixed default paths for compilers. Staying in line with that philosophy, 
something like

.for _p in /opt/SUNWspro /opt/sunstudio12.1
.  if exists(${_p}/bin/cc)
SUNWSPROBASE?=          ${_p}
.  endif

should do.
What do you think?

Georg Schwarz +49 170 8768585

Home | Main Index | Thread Index | Old Index