[OpenAFS-devel] Re: Building openafs on SmartOS?

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Fri, 1 Nov 2013 12:35:14 -0400


On Fri, 1 Nov 2013 10:14:14 -0500
Andrew Deason <adeason@sinenomine.net> wrote:

> On Fri, 1 Nov 2013 11:55:01 +0000
> Coy Hile <Coy.Hile@COYHILE.COM> wrote:
> 
> > Do I have to do anything cute to make OpenAFS build on a
> > Solaris-derivative without Studio?  In a pinch, I could probably hack
> > up a local SmartOS build that includes the bits from the solaris 11
> > binary tarball, but that's not necessarily maintainable long-term.
> 
> What is the kernel built with? The last time I looked at illumos
> (openindiana, I think), it was still being built with solaris studio,
> but they were just making plans to build it with gcc. (That was a whole
> ago, though, that may be wrong.) Just in case it's not clear, we can't
> build our module with gcc if the kernel is built with something else;
> but I'll assume you already know that and it's built with gcc :)

According to this wiki, illumous can be built by gcc now:

http://wiki.illumos.org/display/illumos/How+To+Build+illumos#HowToBuildillumos-GCC

It is possible to build illumos using GCC (the GNU Compiler Collection, specifically its C and C++ compilers), and you should generally prefer to do this, though it is convenient to still see build results from Studio in RTIs

The primary version of GCC necessary for development and integration 4.4.4 (4.4.4-il-2) should have been installed on your system when you installed the prerequisites above.  If for some reason that didn't happen (old build system, or the like) tarballs are available as described in the initial heads-up notice  2012-06-15 Illumos will now build with GCC 4.4.4 + patches.

Unfortunately, Sun Studio dmake (Distributed Make) and lint are currently required even for GCC-only builds. We currently deliver Lint libraries built using the closed Sun Studio version of lint.  The lint from the unpatched (but redistributable) version of Sun Studio 12.1 in the opensolaris.org repository can be used, regardless of its utility for actually checking the software.