<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7655.1">
<TITLE>Compiling BIND 9.6.2-P2 on AIX with IBM compiler ... isc/atomic.h not found</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Calibri">Has anyone successfully compiled BIND 9.6.2-P2 on AIX 5.3 using IBM's compiler (not gcc)?</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri">I have always used it and have just now run into issues when trying to move from 9.6.1-P1 to 9.6.2-P2.</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri">Specifically, make dies with the following error:</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri"> "./include/isc/refcount.h", line 23.10: 1506-296 (S) #include file <isc/atomic.h> not found.</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> make: 1254-004 The error code from the last command is 1.</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri">There appears to be an issue in the configure script related to setting "use_atomic" to "yes" or "no" when compiling on powerpc-ibm-aix with a compiler other than gcc.</FONT></P>
<P><FONT SIZE=2 FACE="Calibri">In digging around, it appears that the use_atomic logic in the configure script has grown substantially between 9.6.1-p1 and 9.6.2-p2. In 9.6.2-p2 there is a bunch of additional logic specifically testing whether you are on powerpc-ibm-aix and if you are, whether you are using gcc. The problem appears to be that there is no complimentary "else" logic to the test for gcc and "use_atomic" never gets set to anything (should get set to "yes" or "no").</FONT></P>
<P><FONT SIZE=2 FACE="Calibri">I modified configure and added an else block to the gcc test as shown in the below diff:</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Calibri">--- configure 2009-10-16 00:30:13.000000000 -0400</FONT>
<BR><FONT SIZE=2 FACE="Calibri">+++ configure.new 2010-05-24 14:02:40.000000000 -0400</FONT>
<BR><FONT SIZE=2 FACE="Calibri">@@ -30444,6 +30444,8 @@</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> fi</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> </FONT>
<BR><FONT SIZE=2 FACE="Calibri"> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext</FONT>
<BR><FONT SIZE=2 FACE="Calibri">+ else</FONT>
<BR><FONT SIZE=2 FACE="Calibri">+ use_atomic=yes</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> fi</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> ;;</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> *)</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Calibri">Running configure with these changes results in a clean make afterwards … but I am curious if anyone has any insight into whether this is ok or whether the additional tests there within the gcc logic need to be applied to other compilers as well on powerpc-ibm-aix?</FONT></P>
<P><FONT SIZE=2 FACE="Calibri">Here are my compiler os/platform specifics:</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri"> # cc -qversion</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> IBM XL C/C++ Enterprise Edition V8.0 for AIX </FONT>
<BR><FONT SIZE=2 FACE="Calibri"> Version: 08.00.0000.0000 </FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri"> # uname -sp</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> AIX powerpc</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri"> # oslevel -s</FONT>
<BR><FONT SIZE=2 FACE="Calibri"> 5300-10-02-0943</FONT>
</P>
<P><FONT SIZE=2 FACE="Calibri">Thanks,</FONT>
<BR><FONT SIZE=2 FACE="Calibri">Rob</FONT>
</P>
</BODY>
</HTML>