<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:27:54 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-2752] Enhance build for cross compilation for the Intel(R) Xeon Phi(TM) card</title>
                <link>https://jira.whamcloud.com/browse/LU-2752</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Current Lustre build is not support cross compilation for the&lt;br/&gt;
Intel(R) Xeon Phi(TM) card. So, producing binaries&lt;br/&gt;
for MIC card is not trivial now and required manual changes of&lt;br/&gt;
sources. It would be very beneficial to provide an easy way to&lt;br/&gt;
produce client binaries for the Intel(R) Xeon Phi(TM) card&lt;br/&gt;
directly from GIT repository just specifying appropriate&lt;br/&gt;
--host and --build option for ./configure script.&lt;/p&gt;

&lt;p&gt;For example, to produce Lustre binaries for MIC card just execute&lt;br/&gt;
the following:&lt;/p&gt;

&lt;p&gt;./configure --host=x86_64-k1om-linux --build=x86_64-pc-linux&lt;/p&gt;</description>
                <environment></environment>
        <key id="17447">LU-2752</key>
            <summary>Enhance build for cross compilation for the Intel(R) Xeon Phi(TM) card</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="dmiter">Dmitry Eremin</assignee>
                                    <reporter username="dmiter">Dmitry Eremin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Feb 2013 10:34:12 +0000</created>
                <updated>Fri, 7 Jun 2013 10:08:04 +0000</updated>
                            <resolved>Fri, 10 May 2013 17:19:16 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="51802" author="rread" created="Tue, 5 Feb 2013 13:09:00 +0000"  >&lt;p&gt;When cross compiling, --host is system on which you are doing the compilation, and --target is the system that you building binaries for.  So you need to do something like this:&lt;/p&gt;

&lt;p&gt;./configure --host=x86_64-pc-linux --target=x86_64-k1om-linux&lt;/p&gt;</comment>
                            <comment id="51803" author="bzzz" created="Tue, 5 Feb 2013 13:17:47 +0000"  >&lt;p&gt;usually configure is capable to recognize build system. e.g., i&apos;m building on os/x to run in regular linux env with the following:&lt;br/&gt;
configure --host=x86_64-unknown-linux&lt;/p&gt;

&lt;p&gt;where:&lt;br/&gt;
$ gcc -v&lt;br/&gt;
Using built-in specs.&lt;br/&gt;
Target: i686-apple-darwin11&lt;br/&gt;
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)&lt;/p&gt;
</comment>
                            <comment id="51804" author="bzzz" created="Tue, 5 Feb 2013 13:19:10 +0000"  >
&lt;p&gt;$ luconfig --with-linux=/work/linux-2.6.32-279.2.1 --disable-liblustre --with-spl=/work/lustre/spl --with-spl-obj=/work/lustre/spl --with-zfs=/work/lustre/zfs --with-zfs-obj=/work/lustre/zfs&lt;br/&gt;
checking build system type... x86_64-apple-darwin12.2.1&lt;br/&gt;
checking host system type... x86_64-unknown-linux-gnu&lt;br/&gt;
checking target system type... x86_64-unknown-linux-gnu&lt;br/&gt;
...&lt;/p&gt;</comment>
                            <comment id="51806" author="dmiter" created="Tue, 5 Feb 2013 14:01:43 +0000"  >&lt;p&gt;I used description from &lt;a href=&quot;http://www.gnu.org/software/autoconf/manual/automake.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.gnu.org/software/autoconf/manual/automake.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.2.8 Cross-Compilation&lt;/p&gt;

&lt;p&gt;To cross-compile is to build on one platform a binary that will run on another platform. When speaking of cross-compilation, it is important to distinguish between the build platform on which the compilation is performed, and the host platform on which the resulting executable is expected to run. The following configure options are used to specify each of them:&lt;/p&gt;

&lt;p&gt;--build=build&lt;br/&gt;
The system on which the package is built. &lt;/p&gt;

&lt;p&gt;--host=host&lt;br/&gt;
The system where built programs and libraries will run.&lt;/p&gt;

&lt;p&gt;When the --host is used, configure will search for the cross-compiling suite for this platform. Cross-compilation tools commonly have their target architecture as prefix of their name. For instance my cross-compiler for MinGW32 has its binaries called i586-mingw32msvc-gcc, i586-mingw32msvc-ld, i586-mingw32msvc-as, etc.&lt;/p&gt;</comment>
                            <comment id="51808" author="dmiter" created="Tue, 5 Feb 2013 14:08:49 +0000"  >&lt;p&gt;You can specify --target option also the same as --host but the --host should be specified to avoid using cross compiler for tests during ./configure script execution.&lt;/p&gt;</comment>
                            <comment id="51809" author="rread" created="Tue, 5 Feb 2013 14:13:28 +0000"  >&lt;p&gt;Ah, my mistake:  --target is only used when building a cross compiler - it&apos;s the architecture that the cross compiler will produce.&lt;/p&gt;</comment>
                            <comment id="51824" author="adilger" created="Tue, 5 Feb 2013 16:58:51 +0000"  >&lt;p&gt;Is there actually something that needs to be changed in the Lustre build environment for this to work, or is it working properly with the current &lt;tt&gt;&amp;#45;&amp;#45;host&lt;/tt&gt; and &lt;tt&gt;&amp;#45;&amp;#45;build&lt;/tt&gt; configure options?&lt;/p&gt;</comment>
                            <comment id="51855" author="dmiter" created="Wed, 6 Feb 2013 03:14:38 +0000"  >&lt;p&gt;Without &lt;a href=&quot;http://review.whamcloud.com/5273&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5273&lt;/a&gt; patch it doesn&apos;t work.&lt;/p&gt;</comment>
                            <comment id="52831" author="dmiter" created="Thu, 21 Feb 2013 15:03:37 +0000"  >&lt;p&gt;The config.log of the following command is attached (w/o the patch):&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;./configure --with-linux=/opt/intel/mic/src/card/kernel \
    --disable-server --without-o2ib \
    --host=x86_64-k1om-linux --build=x86_64-pc-linux
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="59923" author="jaylan" created="Tue, 4 Jun 2013 00:55:14 +0000"  >&lt;p&gt;If I have a chroot environment with&lt;br/&gt;
    intel-mic-ofed-kmod-devel&lt;br/&gt;
    intel-mic-ofed-libibscif-devel&lt;br/&gt;
and other supportive intel-mic-ofed rpms installed,&lt;br/&gt;
and specify &quot;  --with-o2ib=/usr/src/intel-mic-ofed-kmod&quot; as a configure parameter, do I still need this patch? I built a lustre client this way it seemed to build OK.&lt;/p&gt;</comment>
                            <comment id="59924" author="adilger" created="Tue, 4 Jun 2013 01:06:10 +0000"  >&lt;p&gt;Jay, you will note that this patch has been marked as fixed in the 2.4.0 release, so no patch is necessary for that version.&lt;/p&gt;</comment>
                            <comment id="59925" author="jaylan" created="Tue, 4 Jun 2013 01:13:13 +0000"  >&lt;p&gt;I meant to ask if the solution provided by this LU patch is needed even if I build in a chroot environment populated with those intel-mic-ofed rpms.&lt;/p&gt;

&lt;p&gt;I built lustre-2.3.0 this way before I was aware of this LU ticket. If there was no lustre code changed, my build should be OK, right? The lustre client module was loaded OK.&lt;/p&gt;</comment>
                            <comment id="60155" author="dmiter" created="Fri, 7 Jun 2013 10:08:04 +0000"  >&lt;p&gt;This patch is required for 2.4 because of assembly code with is not supported by Xeon Phi. Actually tag 2.3.65 also contain the patch. Therefore you can build it without problem. For earlier 2.3 versions most probably you will have a problem with configure. But if you be able to compile this path is not required for functionality.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12263" name="config.log" size="33866" author="dmiter" created="Thu, 21 Feb 2013 15:03:37 +0000"/>
                    </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|hzvilb:</customfieldvalue>

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