<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:17:42 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-1559] e2fsprogs doesn&apos;t properly update on EL 6.2 systems</title>
                <link>https://jira.whamcloud.com/browse/LU-1559</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When trying to update an EL 6.2 system with the Whamcloud e2fsprogs release 1.42.3.wc1-7.el6 only the e2fsprogs and e2fsprogs-libs packages actually get updated:&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;Resolving Dependencies
--&amp;gt; Running transaction check
---&amp;gt; Package e2fsprogs.x86_64 0:1.41.12-11.el6 will be updated
---&amp;gt; Package e2fsprogs.x86_64 0:1.42.3.wc1-7.el6 will be an update
--&amp;gt; Processing Dependency: e2fsprogs-libs = 1.42.3.wc1-7.el6 &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;: e2fsprogs-1.42.3.wc1-7.el6.x86_64
--&amp;gt; Running transaction check
---&amp;gt; Package e2fsprogs-libs.x86_64 0:1.41.12-11.el6 will be updated
---&amp;gt; Package e2fsprogs-libs.x86_64 0:1.42.3.wc1-7.el6 will be an update
--&amp;gt; Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================================
 Package                             Arch                        Version                                 Repository                   Size
===========================================================================================================================================
Updating:
 e2fsprogs                           x86_64                      1.42.3.wc1-7.el6                        chroma                      695 k
Updating &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; dependencies:
 e2fsprogs-libs                      x86_64                      1.42.3.wc1-7.el6                       chroma                      157 k
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This results in a broken e2fsck, mke2fs (and probably other tools):&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;# e2fsck
e2fsck: symbol lookup error: e2fsck: undefined symbol: set_com_err_gettext
# mke2fs 
mke2fs: symbol lookup error: mke2fs: undefined symbol: set_com_err_gettext
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This appears to be because the packaging is not specifying the upgrade of libcom_err as being necessary.  When I manually force that package to be upgraded e2fsck and mke2fs work again:&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;# e2fsck
Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
		[-I inode_buffer_blocks] [-P process_inode_size]
		[-l|-L bad_blocks_file] [-C fd] [-j external_journal]
		[-E extended-options] device

Emergency help:
 -p                   Automatic repair (no questions)
 -n                   Make no changes to the filesystem
 -y                   Assume &lt;span class=&quot;code-quote&quot;&gt;&quot;yes&quot;&lt;/span&gt; to all questions
 -c                   Check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; bad blocks and add them to the badblock list
 -f                   Force checking even &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; filesystem is marked clean
 -v                   Be verbose
 -b superblock        Use alternative superblock
 -B blocksize         Force blocksize when looking &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; superblock
 -j external_journal  Set location of the external journal
 -l bad_blocks_file   Add to badblocks list
 -L bad_blocks_file   Set badblocks list
[root@localhost yum.repos.d]# mke2fs
Usage: mke2fs [-c|-l filename] [-b block-size] [-C cluster-size]
	[-i bytes-per-inode] [-I inode-size] [-J journal-options]
	[-G flex-group-size] [-N number-of-inodes]
	[-m reserved-blocks-percentage] [-o creator-os]
	[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
	[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
	[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Ultimately it appears that between 1.41.12 1.42.3 the ABI of libcom_err has changed.  Such a change should force an increase in the version of the shared library which will in turn tell yum and rpm to upgrade libcom_err when it upgrades e2fsprogs.&lt;/p&gt;</description>
                <environment>e2fsprogs 1.42.3.wc1-7.el6</environment>
        <key id="15016">LU-1559</key>
            <summary>e2fsprogs doesn&apos;t properly update on EL 6.2 systems</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="adilger">Andreas Dilger</assignee>
                                    <reporter username="brian">Brian Murrell</reporter>
                        <labels>
                    </labels>
                <created>Sat, 23 Jun 2012 14:44:54 +0000</created>
                <updated>Thu, 16 Aug 2012 12:25:27 +0000</updated>
                            <resolved>Thu, 9 Aug 2012 05:37:41 +0000</resolved>
                                    <version>Lustre 2.1.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="41059" author="adilger" created="Sat, 23 Jun 2012 18:52:47 +0000"  >&lt;p&gt;Brian, what command did you use to upgrade the e2fsprogs packages?  I had done it myself with &quot;rpm -Fvh &lt;b&gt;1.42.3&lt;/b&gt;&quot;, which of course included libcom_err explicitly.&lt;/p&gt;

&lt;p&gt;Should we add a &quot;Requires: libcom_err &amp;gt;= 1.42.3.wc1&quot; in the .spec file for e2fsprogs?&lt;/p&gt;</comment>
                            <comment id="41063" author="brian" created="Sun, 24 Jun 2012 15:04:13 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Brian, what command did you use to upgrade the e2fsprogs packages?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I created a yum repository from them with createrepo.  In doing so, yum analyses all of the requires/provides to ensure sure that dependencies are met.  This is where the problem started.  Because the version of the libcom_err library did not get bumped the one installed by the stock EL packages met the dependency of the WC e2fsprogs, when it appears that the libraries are not in fact ABI compatible.  Such a change usually necessitates the bumping of the shared libraries version.  I guess that didn&apos;t happen.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I had done it myself with &quot;rpm -Fvh 1.42.3&quot;, which of course included libcom_err explicitly.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Indeed.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Should we add a &quot;Requires: libcom_err &amp;gt;= 1.42.3.wc1&quot; in the .spec file for e2fsprogs?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Well, that would work, but it&apos;s a bit of a hack IMHO.  It would be better if the shared library was just versioned properly which would help rpm/yum do it&apos;s job properly.&lt;/p&gt;

&lt;p&gt;What is interesting is that the versioning of shared libs is something that really ought to be done by a given package&apos;s  build system.  So the question is did an ABI change get leaked out of the upstream e2fsprogs project without a version bump?&lt;/p&gt;</comment>
                            <comment id="41511" author="jlevi" created="Thu, 5 Jul 2012 15:14:55 +0000"  >&lt;p&gt;Can you reassign as appropriate?&lt;/p&gt;</comment>
                            <comment id="42091" author="rhenwood" created="Fri, 20 Jul 2012 14:08:58 +0000"  >&lt;p&gt;I&apos;ve just installed e2fsck RPMs from Master build. Previously I needed to include &lt;tt&gt;libcom_err&lt;/tt&gt; &lt;tt&gt;libss&lt;/tt&gt; from build.whamcloud.com, but now I don&apos;t.&lt;/p&gt;

&lt;p&gt;I might be tempted to say that this problem has been fixed - but I would like a second opinion.&lt;/p&gt;
</comment>
                            <comment id="42092" author="adilger" created="Fri, 20 Jul 2012 14:30:39 +0000"  >
&lt;p&gt;If you previously upgraded your e2fsprogs to 1.42.x then the proper libcom_err is already installed and doesn&apos;t need to be upgraded again.&lt;/p&gt;

&lt;p&gt;I have a patch for adding the trivial Requires: line, but don&apos;t recall if it has been submitted yet. I think it is still tied up in my rebase to 1.42.4. A separate patch to add this would also be easily done. &lt;/p&gt;</comment>
                            <comment id="42093" author="brian" created="Fri, 20 Jul 2012 14:52:25 +0000"  >&lt;p&gt;While an explicit Requires: sounds like it probably will work (around the problem), it doesn&apos;t sound like it&apos;s addressing the root problem which seems to be a lack of proper version incrementation of the shared libs.  This sounds like something that should have been done upstream.  It seems like it would be worthwhile investigating this and getting upstream to fix if my suspicion is correct.&lt;/p&gt;</comment>
                            <comment id="42929" author="adilger" created="Thu, 9 Aug 2012 05:37:41 +0000"  >&lt;p&gt;For now I&apos;ve added &quot;Requires: libcom_err &amp;gt;= 1.42.2&quot; to the RHEL6 .spec file, since I&apos;m only making minimal changes for the 1.42.3.wc3 release.&lt;/p&gt;

&lt;p&gt;I&apos;m reluctant to change the version of the library itself, otherwise this will potentially cause errors with upstream version changes.&lt;/p&gt;</comment>
                            <comment id="43016" author="brian" created="Fri, 10 Aug 2012 10:41:31 +0000"  >&lt;p&gt;Andreas,&lt;/p&gt;

&lt;p&gt;I don&apos;t want to beat a dead horse, but my concern here is that upstream &lt;b&gt;should&lt;/b&gt; be bumping the DSO version and they are not.  i.e. something&apos;s fallen between the cracks.&lt;/p&gt;

&lt;p&gt;Can we get an opinion from upstream whether the DSO should in fact be bumped or not?&lt;/p&gt;</comment>
                            <comment id="43345" author="brian" created="Thu, 16 Aug 2012 12:25:27 +0000"  >&lt;p&gt;Some interesting discussion with Ted on (and off) the ext4 devel list yields that while bumping the DSO would solve the problem for RPM&apos;s packaging, it would cause other problems and is strictly not necessary for the purposes of versioning DSOs.  Indeed, Ted points out how Debian&apos;s package manager, dpkg, gets this right, and automagically.  It effectively automates the solution that was applied in this ticket and specifies a &quot;Depends: &quot; on the DSO needed.&lt;/p&gt;

&lt;p&gt;The parallel effect in RPM, unfortunately has to be done manually &amp;#8211; exactly as Andreas has mentioned he did two comments ago.&lt;/p&gt;

&lt;p&gt;What is still interesting though is that looking at the most recent RHEL6 e2fsprogs.spec from e2fsprogs-1.41.12-12.el6.src.rpm, they actually do specify this dependency manually already:&lt;/p&gt;

&lt;p&gt;Requires: libcom_err = %&lt;/p&gt;
{version}-%{release}&lt;br/&gt;
Requires: libss = %{version}
&lt;p&gt;-%&lt;/p&gt;
{release}

&lt;p&gt;for the e2fsprogs main package, and other dependencies on libcom_err for other subpackages which our e2fsprogs-RHEL-6.spec&lt;span class=&quot;error&quot;&gt;&amp;#91;.in&amp;#93;&lt;/span&gt; doesn&apos;t have.&lt;/p&gt;

&lt;p&gt;Perhaps it&apos;s worthwhile to do a refresh on our e2fsprogs-RHEL-6.spec&lt;span class=&quot;error&quot;&gt;&amp;#91;.in&amp;#93;&lt;/span&gt; against the latest RHEL 6 spec.&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_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzvgtb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6373</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>