<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:19:40 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-1786] build failure on crc32-pclmul_asm</title>
                <link>https://jira.whamcloud.com/browse/LU-1786</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When building lustre (version tagged 2.2.93) on x86_64 system, with ARCH environment variable set to x86_64, it fails as described below.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# echo $ARCH
x86_64
# make rpms
...
make[2]: Entering directory `/home/build/lustre-release/libcfs&apos;
 (cd libcfs &amp;amp;&amp;amp; make  top_distdir=../../lustre-2.2.93 distdir=../../lustre-2.2.93/libcfs/libcfs \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[3]: *** No rule to make target `crc32-pclmul_asm.c&apos;, needed by `distdir&apos;.  Stop.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Maybe having ARCH environment variable set when building lustre is not standard, but anyway the makefiles should not rely on its value, or it should recompute it.&lt;/p&gt;


&lt;p&gt;in libcfs/libcfs/Makefile.in&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;ifeq ($(ARCH),x86)
libcfs-linux-objs += linux-crypto-crc32pclmul.o
libcfs-pclmul-obj += crc32-pclmul_asm.o
endif
ifeq ($(ARCH),i386)
libcfs-linux-objs += linux-crypto-crc32pclmul.o
libcfs-pclmul-obj += crc32-pclmul_asm.o
endif
ifeq ($(ARCH),x86_64)
libcfs-linux-objs += linux-crypto-crc32pclmul.o
libcfs-pclmul-obj += crc32-pclmul_asm.o
endif

...

libcfs-all-objs := debug.o fail.o nidstrings.o lwt.o module.o tracefile.o \
                   watchdog.o libcfs_string.o hash.o kernel_user_comm.o \
                   prng.o workitem.o upcall_cache.o libcfs_cpu.o \
                   libcfs_mem.o libcfs_lock.o $(libcfs-pclmul-obj)

libcfs-objs := $(libcfs-linux-objs) $(libcfs-all-objs)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;in libcfs/libcfs/autoMakefile.in&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;...
EXTRA_DIST := $(libcfs-all-objs:%.o=%.c) Info.plist tracefile.h prng.c \
              user-lock.c user-tcpip.c user-bitops.c user-prim.c workitem.c \
              user-mem.c kernel_user_comm.c fail.c libcfs_cpu.c \
              libcfs_mem.c libcfs_lock.c linux/linux-tracefile.h
...
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
...
distdir: $(DISTFILES)
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;



&lt;p&gt;When the directive &quot;$(libcfs-all-objs:%.o=%.c)&quot; is applied to crc32-pclmul_asm.o, it adds a dependency on crc32-pclmul_asm.c file which does not exist.&lt;/p&gt;

&lt;p&gt;The problem does not appears when ARCH environment variable is not set because in that case libcfs-pclmul-obj is null.&lt;/p&gt;


&lt;p&gt;So I propose to update libcfs/libcfs/Makefile and move libcfs-pclmul-obj from libcfs-all-objs to libcfs-objs.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;libcfs-all-objs := debug.o fail.o nidstrings.o lwt.o module.o tracefile.o \
                   watchdog.o libcfs_string.o hash.o kernel_user_comm.o \
                   prng.o workitem.o upcall_cache.o libcfs_cpu.o \
                   libcfs_mem.o libcfs_lock.o

libcfs-objs := $(libcfs-linux-objs) $(libcfs-all-objs) $(libcfs-pclmul-obj)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Additionally, the ARCH variable should probably be replaced in libcfs/libcfs/Makefile.in.&lt;/p&gt;</description>
                <environment>lustre version 2.2.93&lt;br/&gt;
x86_64 system&lt;br/&gt;
ARCH=x86_64</environment>
        <key id="15596">LU-1786</key>
            <summary>build failure on crc32-pclmul_asm</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <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="pichong">Gregoire Pichon</reporter>
                        <labels>
                    </labels>
                <created>Mon, 27 Aug 2012 07:41:18 +0000</created>
                <updated>Thu, 18 Apr 2013 20:10:41 +0000</updated>
                            <resolved>Fri, 31 Aug 2012 19:56:18 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                                    <fixVersion>Lustre 2.3.0</fixVersion>
                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="43792" author="pjones" created="Mon, 27 Aug 2012 09:58:35 +0000"  >&lt;p&gt;Minh&lt;/p&gt;

&lt;p&gt;Could you please look into this one?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="43857" author="aboyko" created="Tue, 28 Aug 2012 03:51:14 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/3801&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3801&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43866" author="simmonsja" created="Tue, 28 Aug 2012 09:28:36 +0000"  >&lt;p&gt;Builds now. Any test besides sanity77 and running IOR with checksums enabled.&lt;/p&gt;</comment>
                            <comment id="43869" author="simmonsja" created="Tue, 28 Aug 2012 09:36:10 +0000"  >&lt;p&gt;If this pans out we will need a patch for 2.3 branch as well before it closes.&lt;/p&gt;</comment>
                            <comment id="43932" author="pichong" created="Wed, 29 Aug 2012 06:44:06 +0000"  >&lt;p&gt;Alexander,&lt;br/&gt;
Do you plan to replace the ARCH variable in libcfs/libcfs/Makefile.in ?&lt;br/&gt;
This change does not appear in the patch #3801 you submitted.&lt;/p&gt;</comment>
                            <comment id="43934" author="aboyko" created="Wed, 29 Aug 2012 08:02:47 +0000"  >&lt;p&gt;No, I don`t plan this change. The ARCH is used at Makefile to check architecture and this variable came from Kbuild. The current issue happend for user mode build only, because kernel objects was put to user mode autoMakefile.&lt;/p&gt;</comment>
                            <comment id="43939" author="pichong" created="Wed, 29 Aug 2012 09:47:59 +0000"  >&lt;p&gt;What do you mean by &quot;this variable &lt;span class=&quot;error&quot;&gt;&amp;#91;ARCH&amp;#93;&lt;/span&gt; came from Kbuild&quot; ?&lt;/p&gt;</comment>
                            <comment id="44005" author="aboyko" created="Thu, 30 Aug 2012 15:10:23 +0000"  >&lt;p&gt;When lustre modules are building for kernel, Kbuild set ARCH and it is used at Makefile to detect current architecture.&lt;/p&gt;</comment>
                            <comment id="44046" author="simmonsja" created="Fri, 31 Aug 2012 11:28:50 +0000"  >&lt;p&gt;Submitted patch for 2.3 branch as well at &lt;a href=&quot;http://review.whamcloud.com/#change,3839&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,3839&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44066" author="pjones" created="Fri, 31 Aug 2012 19:56:18 +0000"  >&lt;p&gt;Landed for 2.3 and 2.4&lt;/p&gt;</comment>
                    </comments>
                    <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_10040" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Epic</customfieldname>
                        <customfieldvalues>
                                        <label>build</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzv5s7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4471</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>