<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:34:22 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-3490] GSSAPI support not tested by Gerritt</title>
                <link>https://jira.whamcloud.com/browse/LU-3490</link>
                <project id="10000" key="LU">Lustre</project>
                    <description></description>
                <environment>All</environment>
        <key id="19506">LU-3490</key>
            <summary>GSSAPI support not tested by Gerritt</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="18738">LU-3289</parent>
                                    <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="mdiep">Minh Diep</assignee>
                                    <reporter username="ajk">Andrew Korty</reporter>
                        <labels>
                            <label>SSK</label>
                            <label>patch</label>
                    </labels>
                <created>Thu, 20 Jun 2013 23:55:32 +0000</created>
                <updated>Wed, 1 Jun 2016 22:40:27 +0000</updated>
                            <resolved>Tue, 24 Sep 2013 05:24:18 +0000</resolved>
                                    <version>Lustre 2.4.1</version>
                                    <fixVersion>Lustre 2.5.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>13</watches>
                                                                            <comments>
                            <comment id="60952" author="ajk" created="Thu, 20 Jun 2013 23:59:39 +0000"  >&lt;p&gt;--enable-gss is not passed to configure on Gerritt test nodes, so GSSAPI code never gets built or tested.  Also, commits to other parts of Lustre that break GSSAPI support but test fine without --enable-gss never get noticed.&lt;/p&gt;</comment>
                            <comment id="61042" author="ajk" created="Fri, 21 Jun 2013 21:21:31 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#/c/6740/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/6740/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="61056" author="keith" created="Fri, 21 Jun 2013 23:31:16 +0000"  >&lt;p&gt;If something like this lands everyone who builds will have to update their build servers for an optional part of the code. Not that it is a major issue but it is far reaching. &lt;/p&gt;

&lt;p&gt;I wonder if there is a --build-everything setting that would help catch all these sorts of issues for than just GSSAAPI. &lt;/p&gt;

&lt;p&gt;Is there a GSSAPI Lustre test?&lt;/p&gt;</comment>
                            <comment id="61098" author="green" created="Mon, 24 Jun 2013 15:43:55 +0000"  >&lt;p&gt;I think just enabling gss by default is not all that great of an ideea.&lt;/p&gt;

&lt;p&gt;Instead, Chris, can you please enable the option on our review builds, buto nly after we install necessary dependencies so that it actually builds.&lt;/p&gt;</comment>
                            <comment id="61964" author="ajk" created="Tue, 9 Jul 2013 18:54:28 +0000"  >&lt;p&gt;I&apos;ve changed this patch.  Now, the default behavior is to enable GSS only if its prerequisite libraries are installed.  Hence, --enable-gss enables GSSAPI or bust; --disable-gss disables it always; and the lack of either option conditionally enables GSSAPI, depending on whether the GSSAPI and Kerberos libraries are installed.&lt;/p&gt;</comment>
                            <comment id="65884" author="jlevi" created="Thu, 5 Sep 2013 21:00:51 +0000"  >&lt;p&gt;Patch landed to Master. Please let me know if any additional work is needed and I will reopen this ticket.&lt;/p&gt;</comment>
                            <comment id="66102" author="paf" created="Mon, 9 Sep 2013 18:26:21 +0000"  >&lt;p&gt;This patch introduces a minor regression related to libkeyutils:&lt;/p&gt;

&lt;p&gt;As Andrew says, the default is to enable GSS only if its prerequisite libraries are installed, but this has a flaw as it relates to libkeyutils and LC_CONFIG_GSS_KEYRING.&lt;br/&gt;
Without GSS explicitly disabled, our builds (CentOS and SLES) are failing with this message:&lt;br/&gt;
[  118s] configure: error: libkeyutils is not found, which is required by gss keyring backend&lt;/p&gt;

&lt;p&gt;That message is coming from &apos;# LC_CONFIG_GSS_KEYRING (default enabled, if gss is enabled)&apos; in the lustre-core autoconf file.&lt;/p&gt;

&lt;p&gt;In &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3490&quot; title=&quot;GSSAPI support not tested by Gerritt&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3490&quot;&gt;&lt;del&gt;LU-3490&lt;/del&gt;&lt;/a&gt; LC_CONFIG_GSS_KEYRING is called whenever enable_gss is not explicitly set to no, but LC_CONFIG_GSS_KEYRING doesn&apos;t check for the &apos;not explicitly enabled&apos; case and suppress errors like is done in LC_CONFIG_GSS.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;AC_DEFUN([LC_CONFIG_GSS],
[AC_MSG_CHECKING([whether to enable gss/krb5 support])
 AC_ARG_ENABLE([gss],
               [AC_HELP_STRING([--enable-gss], [enable gss/krb5 support])],
               [],[enable_gss=&lt;span class=&quot;code-quote&quot;&gt;&apos;auto&apos;&lt;/span&gt;])
 AC_MSG_RESULT([$enable_gss])

&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; test x$enable_gss != xno; then
        LC_CONFIG_GSS_KEYRING
        sunrpc_required=$enable_gss
        LC_CONFIG_SUNRPC
        sunrpc_required=no

        [......]

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; test x$KRBDIR != x; then
            AC_CHECK_LIB([gssapi], [gss_export_lucid_sec_context],
                         [GSSAPI_LIBS=&lt;span class=&quot;code-quote&quot;&gt;&quot;$GSSAPI_LDFLAGS -lgssapi&quot;&lt;/span&gt;],
                         [AC_CHECK_LIB([gssglue], [gss_export_lucid_sec_context],
                                       [GSSAPI_LIBS=&lt;span class=&quot;code-quote&quot;&gt;&quot;$GSSAPI_LDFLAGS -lgssglue&quot;&lt;/span&gt;],
                                       [&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; test x$enable_gss == xyes; then
                                            AC_MSG_ERROR([libgssapi or libgssglue is not found, which is required by GSS.])
                                        fi])],)
            AC_SUBST(GSSAPI_LIBS)
        fi
 fi
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I&apos;m not sure what the best solution here is, there&apos;s a bit of an interdependence and I&apos;m not really familiar with autoconf files.&lt;br/&gt;
We could check for the &apos;GSS not explicitly enabled&apos; case in LC_CONFIG_GSS_KEYRING, but then we&apos;d have to disable GSS when LC_CONFIG_GSS_KEYRING failed.&lt;/p&gt;

&lt;p&gt;For the moment, we&apos;re working around this by removing &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3490&quot; title=&quot;GSSAPI support not tested by Gerritt&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3490&quot;&gt;&lt;del&gt;LU-3490&lt;/del&gt;&lt;/a&gt; and/or explicitly disabling GSS.&lt;/p&gt;</comment>
                            <comment id="66135" author="ajk" created="Mon, 9 Sep 2013 22:52:34 +0000"  >&lt;p&gt;Thanks for the report, Patrick.  I think it makes sense to disable GSS non-fatally if the GSS keyring library is not available.  Thoughts?&lt;/p&gt;</comment>
                            <comment id="66152" author="paf" created="Tue, 10 Sep 2013 03:24:57 +0000"  >&lt;p&gt;Andrew,&lt;/p&gt;

&lt;p&gt;I&apos;d agree with that - I would&apos;ve put a suggested patch together if I were a bit more familiar with autoconf.&lt;/p&gt;</comment>
                            <comment id="66242" author="adilger" created="Tue, 10 Sep 2013 19:17:08 +0000"  >&lt;p&gt;Reopening this bug until configure is changed to not require libkeyring.&lt;/p&gt;</comment>
                            <comment id="66247" author="adilger" created="Tue, 10 Sep 2013 19:36:36 +0000"  >&lt;p&gt;There was also agreement from the OpenSFS PAC that this should be a non-fatal error if GSS support was not explicitly requested.  We need to get a patch ASAP, since this is likely breaking the build for most external users of Lustre.  We didn&apos;t notice it internally since we installed these libraries explicitly on all of our build nodes to verify this patch was working.&lt;/p&gt;</comment>
                            <comment id="66393" author="paf" created="Wed, 11 Sep 2013 19:22:32 +0000"  >&lt;p&gt;I spent a few minutes trying to generate a patch for this one, but I&apos;m a bit puzzled here.&lt;/p&gt;

&lt;p&gt;Two things.&lt;br/&gt;
One: Is it possible/desirable to build with GSS but not with GSS_KEYRING?  So, in the default case (enable_gss=&apos;auto&apos;, if the keyutils library is not found or GSS_KEYRING is explicitly disabledin the config (so HAVE_GSS_KEYRING isn&apos;t set), should we leave GSS enabled or disable it?  (IE, still set HAVE_GSS)&lt;/p&gt;

&lt;p&gt;Two, a problem:&lt;br/&gt;
In the current code, in the default case doesn&apos;t HAVE_GSS get set and stay set whether or not the GSS libraries are found?  &lt;br/&gt;
I don&apos;t see it getting unset if the required libraries are not found, so if the libgss libraries were actually not available on a build system (I&apos;m not easily able to test, as I&apos;ve got dependencies on them on my usual build system), wouldn&apos;t this fail to build?&lt;/p&gt;</comment>
                            <comment id="66398" author="mdiep" created="Wed, 11 Sep 2013 19:29:14 +0000"  >&lt;p&gt;As for HAVE_GSS, I would move it to after checking the libraries of LC_CONFIG_GSS&lt;/p&gt;</comment>
                            <comment id="66400" author="mdiep" created="Wed, 11 Sep 2013 19:31:32 +0000"  >&lt;p&gt;correct me if I am wrong, could this be solved with a simple enable_gss=&apos;no&apos; instead of &apos;auto&apos;?&lt;/p&gt;</comment>
                            <comment id="66401" author="paf" created="Wed, 11 Sep 2013 19:32:21 +0000"  >&lt;p&gt;Minh: Agreed, it can be made conditional on successfully finding the libraries.  I think that&apos;s the solution.&lt;/p&gt;

&lt;p&gt;What&apos;s preventing me from offering a patch is the first question about the necessity of GSS_KEYRING for GSS.&lt;/p&gt;</comment>
                            <comment id="66402" author="paf" created="Wed, 11 Sep 2013 19:34:32 +0000"  >&lt;p&gt;About &apos;no&apos; instead of &apos;auto&apos;: Yes, that would avoid this problem, but that&apos;s basically just reverting this patch completely.  The point of the original patch was to turn on GSS by default so it would be tested.&lt;/p&gt;</comment>
                            <comment id="66426" author="mdiep" created="Wed, 11 Sep 2013 22:00:36 +0000"  >&lt;p&gt;I am working on a patch for this now. Do we need kernel sunrpc support for using GSS? Currently it&apos;s not if enable_gss is set to auto&lt;/p&gt;</comment>
                            <comment id="66432" author="mdiep" created="Wed, 11 Sep 2013 22:27:45 +0000"  >&lt;p&gt;patch for master &lt;a href=&quot;http://review.whamcloud.com/#/c/7622/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7622/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="66601" author="paf" created="Fri, 13 Sep 2013 15:52:22 +0000"  >&lt;p&gt;I was hoping to offer a new version of Minh&apos;s patch, but I can&apos;t because I still don&apos;t know if GSS_KEYRING is strictly required for GSS.&lt;/p&gt;

&lt;p&gt;So is it possible/recommended to allow GSS to be enabled when GSS keyring is not?&lt;/p&gt;</comment>
                            <comment id="66620" author="adilger" created="Fri, 13 Sep 2013 17:21:55 +0000"  >&lt;p&gt;Andrew or Ken, could you please comment on this?&lt;/p&gt;</comment>
                            <comment id="66630" author="kenh" created="Fri, 13 Sep 2013 18:13:20 +0000"  >&lt;p&gt;So, I could be wrong ... but it looks like the following things are true:&lt;/p&gt;

&lt;p&gt;The GSS_KEYRING autoconf macro ends up doing two things: defining the HAVE_GSS_KEYRING preprocessor symbol, and setting the GSS_KEYRING Automake conditional.&lt;/p&gt;

&lt;p&gt;No code uses the HAVE_GSS_KEYRING preprocessor symbol.&lt;/p&gt;

&lt;p&gt;GSS_KEYRING controls whether or not gss_keyring.c is compiled.&lt;/p&gt;

&lt;p&gt;Given all that ... I would say, in answer to Patrick&apos;s question, it IS possible to allow GSS to be enabled when GSS keyring is not enabled.  Recommended, maybe not, but I&apos;d vote for not requiring the dependency on keyring to make things easier for everyone.&lt;/p&gt;</comment>
                            <comment id="66636" author="mdiep" created="Fri, 13 Sep 2013 18:42:43 +0000"  >&lt;p&gt;Patrick, to avoid duplicate works, please go ahead and update the patch. Thank you very much. I will review and make sure it gets tested&lt;/p&gt;</comment>
                            <comment id="66640" author="paf" created="Fri, 13 Sep 2013 18:49:14 +0000"  >&lt;p&gt;Ken,&lt;/p&gt;

&lt;p&gt;Thanks, that matches my understanding and fits with the autoconf file as written (Specifically the fact that it&apos;s possible to enable/disable gss_keyring separately from gss).&lt;/p&gt;

&lt;p&gt;Minh,&lt;/p&gt;

&lt;p&gt;Thanks - I&apos;ll have it up for review in a little bit.&lt;/p&gt;</comment>
                            <comment id="66641" author="ajk" created="Fri, 13 Sep 2013 19:01:19 +0000"  >&lt;p&gt;I agree with Ken: GSS_KEYRING need not be a prerequisite to GSS.  I also think Patrick has something about HAVE_GSS getting set spuriously although I&apos;m sure I tested for that case.  At any rate, it would make more sense for HAVE_GSS to reflect the situation accurately.&lt;/p&gt;</comment>
                            <comment id="66674" author="paf" created="Sat, 14 Sep 2013 05:40:05 +0000"  >&lt;p&gt;Sorry about the delay on this, I ran in to some unexpected issues on my build system.&lt;/p&gt;

&lt;p&gt;It turns out the &apos;auto&apos; from the original patch is causing the GSS dependencies to be checked, but it&apos;s not actually causing GSS to be built.  I figured that out because my build system couldn&apos;t actually build GSS &lt;span class=&quot;error&quot;&gt;&amp;#91;A separate issue with my kernel source&amp;#93;&lt;/span&gt;, and I couldn&apos;t understand why make rpms succeeded with gss not enabled or disabled (So, using &apos;auto&apos;), but failed with gss enabled.&lt;/p&gt;

&lt;p&gt;This is because enable_gss is used like this in the &apos;configure&apos; file that autoconf generates:&lt;br/&gt;
 if test x$enable_gss = xyes; then&lt;br/&gt;
  GSS_TRUE=&lt;br/&gt;
  GSS_FALSE=&apos;#&apos;&lt;br/&gt;
else&lt;br/&gt;
  GSS_TRUE=&apos;#&apos;&lt;br/&gt;
  GSS_FALSE=&lt;br/&gt;
fi&lt;br/&gt;
^-- So when it&apos;s set to auto, GSS_TRUE is not set as expected.  This (GSS_TRUE) is the macro actually used by the make files.&lt;/p&gt;

&lt;p&gt;The simple solution is to start with enable_gss to auto as we do now, then if the various tests pass, set it to &apos;yes&apos; before leaving the function.  I&apos;ve tested doing this and it causes gss to be built by default.&lt;/p&gt;

&lt;p&gt;Once I&apos;ve sorted out my other build issues and can completely build GSS without errors, I&apos;ll be able to test to my satisfaction and put up a patch for this and the earlier problem.&lt;br/&gt;
&amp;#8212;&lt;/p&gt;

&lt;p&gt;Andrew:&lt;br/&gt;
About spuriously setting HAVE_GSS.  HAVE_GSS is defined before the code block below.  Consider the &apos;auto&apos; case where the libraries are not found - HAVE_GSS will remain defined, but it&apos;s not correct.&lt;/p&gt;

&lt;p&gt;In any case, you&apos;re right that it shouldn&apos;t cause a problem - HAVE_GSS isn&apos;t actually used anywhere else, as far as I can tell.  (Though I&apos;m hardly an autoconf expert.)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;if test x$KRBDIR != x; then	&lt;br/&gt;
            AC_CHECK_LIB(&lt;span class=&quot;error&quot;&gt;&amp;#91;gssapi&amp;#93;&lt;/span&gt;, &lt;span class=&quot;error&quot;&gt;&amp;#91;gss_export_lucid_sec_context&amp;#93;&lt;/span&gt;,	&lt;br/&gt;
			 &lt;span class=&quot;error&quot;&gt;&amp;#91;GSSAPI_LIBS=&amp;quot;$GSSAPI_LDFLAGS -lgssapi&amp;quot;&amp;#93;&lt;/span&gt;,	&lt;br/&gt;
                         [AC_CHECK_LIB(&lt;span class=&quot;error&quot;&gt;&amp;#91;gssglue&amp;#93;&lt;/span&gt;, &lt;span class=&quot;error&quot;&gt;&amp;#91;gss_export_lucid_sec_context&amp;#93;&lt;/span&gt;,	&lt;br/&gt;
                                       &lt;span class=&quot;error&quot;&gt;&amp;#91;GSSAPI_LIBS=&amp;quot;$GSSAPI_LDFLAGS -lgssglue&amp;quot;&amp;#93;&lt;/span&gt;,	&lt;br/&gt;
                                       [if test x$enable_gss == xyes;&lt;br/&gt;
                                            AC_MSG_ERROR(&lt;span class=&quot;error&quot;&gt;&amp;#91;libgssapi or libgssglue is not found, which is required by GSS.&amp;#93;&lt;/span&gt;)&lt;br/&gt;
                                        fi])],)&lt;/p&gt;&lt;/blockquote&gt;</comment>
                            <comment id="66695" author="paf" created="Sun, 15 Sep 2013 22:35:47 +0000"  >&lt;p&gt;OK, a bit of further information.  I&apos;ve been unable to build GSS with GSS_KEYRING enabled.  I originally thought that was because of a problem with my kernel source, but I&apos;ve now re-downloaded and rebuilt that twice now.  The tests for building GSS_KEYRING are passing, but the code itself is not building; I&apos;m getting errors indicating that some of the definitions it depends on aren&apos;t available.  In particular, these appear to be those things which are defined if CONFIG_KEYS is set in the kernel.&lt;/p&gt;

&lt;p&gt;I&apos;ve looked at the .config file being used to build the kernel, and I&apos;ve confirmed CONFIG_KEYS is definitely set  (It&apos;s the Lustre provided .config file.).  (I&apos;m following the WC build instructions from here: &lt;a href=&quot;https://wiki.hpdd.intel.com/pages/viewpage.action?pageId=8126821&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.hpdd.intel.com/pages/viewpage.action?pageId=8126821&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Since the &apos;auto&apos; setting wasn&apos;t actually causing GSS to be built, I suspect that GSS_KEYRING actually hasn&apos;t been built lately and is linked incorrectly.  I suspect if you tried to build it (--enable-gss is sufficient with current master) you&apos;d find these same failures:&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
make&lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt;: Entering directory `/home/build/kernel/rpmbuild/BUILD/kernel-2.6.32.358.18.1.el6_lustre&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c: In function &apos;request_key_unlink&apos;:&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:652: error: &apos;struct task_struct&apos; has no member named &apos;jit_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:655: error: &apos;struct task_struct&apos; has no member named &apos;thread_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:659: error: &apos;struct signal_struct&apos; has no member named &apos;process_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
cc1: warnings being treated as errors&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: type defaults to &apos;int&apos; in declaration of &apos;_________p1&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: type defaults to &apos;int&apos; in declaration of &apos;type name&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: passing argument 1 of &apos;key_get&apos; makes pointer from integer without a cast&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/kernel-2.6.32.358.18.1.el6_lustre/include/linux/key.h:217: note: expected &apos;struct key *&apos; but argument is of type &apos;int&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:670: error: &apos;struct task_struct&apos; has no member named &apos;user&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:673: error: &apos;struct task_struct&apos; has no member named &apos;user&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c: In function &apos;gss_kt_instantiate&apos;:&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:1255: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:1258: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:1261: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
make&lt;span class=&quot;error&quot;&gt;&amp;#91;9&amp;#93;&lt;/span&gt;: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;/home/build/kernel/rpmbuild/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
&amp;#8212;&lt;/p&gt;

&lt;p&gt;I will put up a patch to fix the autoconf behavior, but I don&apos;t currently see how to fix the problem with building GSS_KEYRING.  That means build systems without libkeyutils installed will gracefully choose not to build GSS_KEYRING, but those with libkeyutils installed will pass the autoconf tests and then fail to compile.&lt;/p&gt;</comment>
                            <comment id="66717" author="paf" created="Mon, 16 Sep 2013 12:51:34 +0000"  >&lt;p&gt;Patch up at &lt;a href=&quot;http://review.whamcloud.com/#/c/7622/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7622/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="66723" author="paf" created="Mon, 16 Sep 2013 14:27:08 +0000"  >&lt;p&gt;As expected, with that patch, the tests for GSS keyring are passing and it is failing to build:&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c: In function &apos;request_key_unlink&apos;:&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:652: error: &apos;struct task_struct&apos; has no member named &apos;jit_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:655: error: &apos;struct task_struct&apos; has no member named &apos;thread_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:659: error: &apos;struct signal_struct&apos; has no member named &apos;process_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
cc1: warnings being treated as errors&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: type defaults to &apos;int&apos; in declaration of &apos;_________p1&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:664: error: type defaults to &apos;int&apos; in declaration of &apos;type name&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:665: error: passing argument 1 of &apos;key_get&apos; makes pointer from integer without a cast&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/reused/usr/src/kernels/2.6.32-358.18.1.el6_lustre.gd8b4950.i686/include/linux/key.h:217: note: expected &apos;struct key *&apos; but argument is of type &apos;int&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:670: error: &apos;struct task_struct&apos; has no member named &apos;user&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:673: error: &apos;struct task_struct&apos; has no member named &apos;user&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c: In function &apos;gss_kt_instantiate&apos;:&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:1255: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:1258: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.c:1261: error: &apos;struct signal_struct&apos; has no member named &apos;session_keyring&apos;&lt;br/&gt;
make&lt;span class=&quot;error&quot;&gt;&amp;#91;7&amp;#93;&lt;/span&gt;: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;/var/lib/jenkins/workspace/lustre-reviews/arch/i686/build_type/server/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.4.92/lustre/ptlrpc/gss/gss_keyring.o&amp;#93;&lt;/span&gt; Error 1&lt;/p&gt;</comment>
                            <comment id="66766" author="mdiep" created="Mon, 16 Sep 2013 18:44:26 +0000"  >&lt;p&gt;just a notice&lt;/p&gt;

&lt;p&gt;checking whether to enable gss/krb5 support... auto&lt;br/&gt;
checking whether to enable gss keyring backend... auto&lt;br/&gt;
checking if Linux was built with CONFIG_KEYS in or as module... yes&lt;br/&gt;
checking for keyctl_search in -lkeyutils... yes&lt;br/&gt;
checking if Linux was built with CONFIG_SUNRPC in or as module... yes&lt;br/&gt;
checking if Linux was built with CONFIG_CRYPTO_MD5 in or as module... yes&lt;br/&gt;
checking if Linux was built with CONFIG_CRYPTO_SHA1 in or as module... yes&lt;br/&gt;
checking if Linux was built with CONFIG_CRYPTO_SHA256 in or as module... yes&lt;br/&gt;
checking if Linux was built with CONFIG_CRYPTO_SHA512 in or as module... yes&lt;br/&gt;
checking for Kerberos v5...&lt;br/&gt;
The current KRBDIR is&lt;/p&gt;


&lt;p&gt;If we leave gss and gss keyring on auto and have keyutils..., but not Kerberos, should we issue a warning?&lt;/p&gt;</comment>
                            <comment id="66825" author="mdiep" created="Tue, 17 Sep 2013 13:41:25 +0000"  >&lt;p&gt;I updated the patch and now it only failed on sles &lt;a href=&quot;http://build.whamcloud.com/job/lustre-reviews/18238/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://build.whamcloud.com/job/lustre-reviews/18238/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="66834" author="paf" created="Tue, 17 Sep 2013 16:17:37 +0000"  >&lt;p&gt;Nice catch, Minh, that does fix most of the build failures.  The remaining ones are unusual issues unique to SLES11 and Ubuntu 10.04.  I&apos;ll leave those to you.&lt;/p&gt;</comment>
                            <comment id="66863" author="mdiep" created="Tue, 17 Sep 2013 19:47:36 +0000"  >&lt;p&gt;The reason it failed in sles11sp1 but not sles11sp2 is&lt;/p&gt;

&lt;p&gt;sles11sp1:&lt;br/&gt;
checking for gss_export_lucid_sec_context in -lgssapi... no&lt;br/&gt;
checking for gss_export_lucid_sec_context in -lgssglue... yes &amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;/p&gt;

&lt;p&gt;sles11sp2:&lt;br/&gt;
checking for gss_export_lucid_sec_context in -lgssapi... no&lt;br/&gt;
checking for gss_export_lucid_sec_context in -lgssglue... no&lt;/p&gt;

&lt;p&gt;I believe the logic in the patch&lt;/p&gt;

&lt;p&gt;                AC_CHECK_LIB(&lt;span class=&quot;error&quot;&gt;&amp;#91;gssapi&amp;#93;&lt;/span&gt;, &lt;span class=&quot;error&quot;&gt;&amp;#91;gss_export_lucid_sec_context&amp;#93;&lt;/span&gt;,&lt;br/&gt;
                             [GSSAPI_LIBS=&quot;$GSSAPI_LDFLAGS -lgssapi&quot;;&lt;br/&gt;
                              gss_conf_test=&apos;success&apos;],&lt;br/&gt;
                             [AC_CHECK_LIB(&lt;span class=&quot;error&quot;&gt;&amp;#91;gssglue&amp;#93;&lt;/span&gt;, &lt;span class=&quot;error&quot;&gt;&amp;#91;gss_export_lucid_sec_context&amp;#93;&lt;/span&gt;,&lt;br/&gt;
                                           [GSSAPI_LIBS=&quot;$GSSAPI_LDFLAGS -lgssglue&quot;;&lt;br/&gt;
                                            gss_conf_test=&apos;success&apos;],&lt;br/&gt;
                                           [if test x$enable_gss == xyes; then&lt;br/&gt;
                                                AC_MSG_ERROR(&lt;span class=&quot;error&quot;&gt;&amp;#91;libgssapi or libgssglue is not found, which is required by GSS.&amp;#93;&lt;/span&gt;)&lt;br/&gt;
                                            else&lt;br/&gt;
                                                AC_MSG_WARN(&lt;span class=&quot;error&quot;&gt;&amp;#91;libgssapi or libgssglue is not found, which is required by GSS.&amp;#93;&lt;/span&gt;)&lt;br/&gt;
                                            fi])],)&lt;/p&gt;


&lt;p&gt;do we need both libgssapi and libgssglue to be yes or both to be no?&lt;/p&gt;



</comment>
                            <comment id="66864" author="paf" created="Tue, 17 Sep 2013 19:52:46 +0000"  >&lt;p&gt;Minh,&lt;/p&gt;

&lt;p&gt;Not in general.  This is the output for el6 inkernel from the same build (&lt;a href=&quot;http://build.whamcloud.com/job/lustre-reviews/18238/arch=x86_64,build_type=server,distro=el6,ib_stack=inkernel/consoleFull):&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://build.whamcloud.com/job/lustre-reviews/18238/arch=x86_64,build_type=server,distro=el6,ib_stack=inkernel/consoleFull):&lt;/a&gt;&lt;br/&gt;
checking for gss_export_lucid_sec_context in -lgssapi... no&lt;br/&gt;
checking for gss_export_lucid_sec_context in -lgssglue... yes&lt;/p&gt;

&lt;p&gt;So that same situation works for el6.&lt;br/&gt;
One of lgssapi or lgssglue seems to be sufficient.&lt;/p&gt;

&lt;p&gt;Maybe that&apos;s not true for sles11sp1.&lt;/p&gt;</comment>
                            <comment id="66866" author="kenh" created="Tue, 17 Sep 2013 20:01:23 +0000"  >&lt;p&gt;Some versions of the GSS library don&apos;t provide gss_export_lucid_sec_context(), depending on the vintage.  I&apos;m actually in that situation, for a long, complicated, and stupid reason.&lt;/p&gt;

&lt;p&gt;I suspect that -lgssapi (typically provided by a Kerberos implementation) shipped with SLES11SP1 is one of those vintages.&lt;/p&gt;</comment>
                            <comment id="66867" author="paf" created="Tue, 17 Sep 2013 20:03:55 +0000"  >&lt;p&gt;Here&apos;s the specific failure for SLES11SP1:&lt;br/&gt;
cc1: warnings being treated as errors&lt;br/&gt;
context_lucid.c: In function &apos;derive_key_lucid&apos;:&lt;br/&gt;
context_lucid.c:354: error: call to function &apos;krb5_derive_key&apos; without a real prototype&lt;br/&gt;
context.h:46: note: &apos;krb5_derive_key&apos; was declared here&lt;/p&gt;

&lt;p&gt;A bit of looking at the source for SLES11SP2 and CentOS vs SLES11SP1 shows that function is defined in SLES11SP2 and CentOS, but it&apos;s not found in SLES11SP1.&lt;br/&gt;
It looks like the patch here which put functionality for deriving kerberos keys in to the kernel isn&apos;t in SLES11SP1.&lt;br/&gt;
That patch is here:&lt;br/&gt;
&lt;a href=&quot;http://www.mail-archive.com/linux-nfs@vger.kernel.org/msg01668.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.mail-archive.com/linux-nfs@vger.kernel.org/msg01668.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I don&apos;t think there&apos;s an easy solution here if we actually want this to work on SLES11SP1, especially not if it&apos;s supposed to work on patchless clients.&lt;/p&gt;

&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;Ken,&lt;/p&gt;

&lt;p&gt;It looks like you&apos;re right.  Still, that function is found in lgssglue in SLES11SP1 and CentOS, so we&apos;re OK there.&lt;/p&gt;</comment>
                            <comment id="66883" author="adilger" created="Tue, 17 Sep 2013 22:42:57 +0000"  >&lt;p&gt;I don&apos;t think we are supporting SLES11 SP1 going forward on master, so this may be a non-issue. We need to change out builders to take this into account. &lt;/p&gt;</comment>
                            <comment id="66971" author="mdiep" created="Wed, 18 Sep 2013 21:54:29 +0000"  >&lt;p&gt;Patrick, Ken&lt;/p&gt;

&lt;p&gt;Do you think &apos;checking for krb5int_derive_key in -lgssapi_krb5... no&apos; must be yes to be able to build krb?&lt;/p&gt;</comment>
                            <comment id="66972" author="paf" created="Wed, 18 Sep 2013 22:07:25 +0000"  >&lt;p&gt;Minh,&lt;/p&gt;

&lt;p&gt;I see if we have krb5int_derive_key, it will build correctly, because it&apos;s used instead of krb5_derive_key.&lt;/p&gt;

&lt;p&gt;But some platforms have krb5_derive_key, and in that case, they don&apos;t need krb5int_derive_key in the libraries.&lt;/p&gt;

&lt;p&gt;Is it possible that krb5int_derive_key is in one of the two possible GSS libraries and not the other?  Maybe we need to require that library if you don&apos;t have krb5_derive_key in your kernel?  (The SLES11SP1 case.)&lt;/p&gt;

&lt;p&gt;Andreas,&lt;/p&gt;

&lt;p&gt;It seems to me the problem with ignoring SLES11 because it&apos;s not supported going forward is that GSS_KEYRING won&apos;t build with at least b2_4 and possibly earlier versions as well.  If it&apos;s supported there but can&apos;t actually be built...&lt;/p&gt;</comment>
                            <comment id="66975" author="mdiep" created="Wed, 18 Sep 2013 22:39:47 +0000"  >&lt;p&gt;I&apos;d say if we can&apos;t fine both krb5int_derive_key and krb5_derive_key, we will issue a warning and set HAVE_KRB5 to 0&lt;/p&gt;</comment>
                            <comment id="66990" author="thomas.stibor" created="Thu, 19 Sep 2013 07:10:23 +0000"  >&lt;p&gt;The function name krb5_derive_key was renamed in MIT-Kerberos &amp;gt;= 1.8.X.&lt;/p&gt;

&lt;p&gt;Before it was (&amp;lt;= 1.7.X):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;thomas@lxdv65:~/tmp/krb/krb5-1.7.2&amp;gt;grep -r &quot;krb5int_derive_key&quot;
thomas@lxdv65:~/tmp/krb/krb5-1.7.2&amp;gt;grep -r &quot;krb5_derive_key&quot;   
src/lib/crypto/vectors.c:    r = krb5_derive_key (enc, in, out, usage);
src/lib/crypto/combine_keys.c: * DK is defined as the key derivation function (krb5_derive_key())
src/lib/crypto/combine_keys.c:    if ((ret = krb5_derive_key(enc, &amp;amp;tkey, outkey, &amp;amp;input))) {
src/lib/crypto/aes/aes_s2k.c:    err = krb5_derive_key (enc, key, key, &amp;amp;usage);
src/lib/crypto/libk5crypto.exports:krb5_derive_key
src/lib/crypto/dk/dk_encrypt.c:    if ((ret = krb5_derive_key(enc, key, &amp;amp;ke, &amp;amp;d1)))
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;With version &amp;gt;= 1.8.X it changed to:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;thomas@lxdv65:~/tmp/krb/krb5-1.8.6&amp;gt;grep -r &quot;krb5_derive_key&quot;
doc/CHANGES:Rename some lingering krb5_derive_key references.
thomas@lxdv65:~/tmp/krb/krb5-1.8.6&amp;gt;grep -r &quot;krb5int_derive_key&quot;
README:6629    krb5int_derive_key results in cache with uninitialized values
doc/CHANGES: subject: krb5int_derive_key results in cache with uninitialized values
doc/CHANGES: krb5int_derive_key creates a temporary keyblock to add to the derived cache.
src/lib/crypto/crypto_tests/vectors.c:    r = krb5int_derive_key (enc, in, out, usage);
src/lib/crypto/krb/combine_keys.c: * DK is defined as the key derivation function (krb5int_derive_key())
src/lib/crypto/krb/combine_keys.c:    ret = krb5int_derive_keyblock(enc, tkey, outkey, &amp;amp;input);
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The newer distributions usually ship MIT-Kerberos =&amp;gt; 1.8.X, however I haven&apos;t looked into Heimdal. There it is probably different.&lt;/p&gt;
</comment>
                            <comment id="66992" author="thomas.stibor" created="Thu, 19 Sep 2013 08:31:48 +0000"  >&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I just discovered a problem with the commit 67b73336d5b3d631e6d9eb3809914b8b80825a24:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;diff --git a/lustre/utils/gss/svcgssd.c b/lustre/utils/gss/svcgssd.c
index cebd852..bd6a4de 100644
--- a/lustre/utils/gss/svcgssd.c
+++ b/lustre/utils/gss/svcgssd.c
@@ -148,10 +148,10 @@ mydaemon(int nochdir, int noclose)
 static void
 release_parent()
 {
-       int status;
+       int status, rc;
 
        if (pipefds[1] &amp;gt; 0) {
-               write(pipefds[1], &amp;amp;status, 1);
+               rc = write(pipefds[1], &amp;amp;status, 1);
                close(pipefds[1]);
                pipefds[1] = -1;
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Since the code is compiled with gcc -Werror ... it results in:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;svcgssd.c: In function &#8216;release_parent&#8217;:
svcgssd.c:151:14: error: variable &#8216;rc&#8217; set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[1]: *** [lsvcgssd-svcgssd.o] Error 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="67015" author="paf" created="Thu, 19 Sep 2013 14:55:31 +0000"  >&lt;p&gt;Thomas,&lt;/p&gt;

&lt;p&gt;Definitely, that patch would give that error.  If you look in Gerrit, that commit is patch set 4, and we&apos;re on to patch set 6.&lt;/p&gt;

&lt;p&gt;It actually appears that function is no longer being used, because we removed rc entirely and patch set 6 built successfully on all platforms.  (&apos;rc&apos; was put there in patch set 4 to avoid a warning about ignoring a return value on write, but then hits the error you noted.)&lt;/p&gt;</comment>
                            <comment id="67036" author="adilger" created="Thu, 19 Sep 2013 16:42:59 +0000"  >&lt;p&gt;Making this a blocker for 2.5.0 until the configure/build problem is fixed for systems that do not have the gss libraries installed.&lt;/p&gt;</comment>
                            <comment id="67316" author="pjones" created="Tue, 24 Sep 2013 05:24:18 +0000"  >&lt;p&gt;Landed for 2.5.0&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                                                <inwardlinks description="is blocked by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="18733">LU-3288</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzvtqf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8774</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>