Bug #37679 Falcon does not compile on OpenSolaris/Nevada using the Sun Studio compiler
Submitted: 26 Jun 2008 23:12 Modified: 8 Jan 11:29
Reporter: Olav Sandstaa
Status: Closed
Category:Server: Falcon Severity:S3 (Non-critical)
Version:6.0.6 OS:Sun Solaris (OpenSolaris/Nevada)
Assigned to: Olav Sandstaa Target Version:6.0.6
Tags: Sun Studio, Nevada, OpenSolaris
Triage: D3 (Medium)

[26 Jun 2008 23:12] Olav Sandstaa
Description:
When compiling MySQL with Falcon on Solaris 11/Nevada/OpenSolaris using the Sun Studio 12
compiler, the compilation fails with the following error:

"Interlock.h", line 149: Error: #error cas not defined. We need>= Solaris 10.

This is the case for Solaris 11/Nevada/OpenSolaris both on x86 and on SPARC.

The cause for this is that when compiling with the Sun Studio compiler on Solaris we are
currently checking that the Solaris version is Solaris 10 (due to not having support for
atomic_cas-* operations on earlier versions of Solaris).

How to repeat:
Compile MySQL with Falcon using the Sun Studio compiler on Solaris 11, Solaris Nevada or
OpenSolaris.

Suggested fix:
Extend the #if test for Solaris version in Interlock.h to also include Solaris 11 as well
as Solaris 10.
[27 Jun 2008 0:05] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/48592

2720 Olav Sandstaa	2008-06-27
      Fix to Bug#37679 Falcon does not compile on OpenSolaris/Nevada using the Sun Studio
compiler
      
      Extend the check for which Solaris version that is used to include Solaris 11 (SunOS
5.11) in addition 
      to Solaris 10. Both of these Solaris versions has support for atomic_cas_
operations.
[22 Aug 2008 23:18] Kevin Lewis
This fix is in version 6.0.6
[8 Jan 11:29] MC Brown
A note has been added to the 6.0.6 changelog: 

When building FALCON using the Sun Studio 12 compiler on OpenSolaris the build would fail
due to a missing header file, Interlock.h.