Bug 215560 - lesstif should conflict with openmotif21
Summary: lesstif should conflict with openmotif21
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: lesstif
Version: 6
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Patrice Dumas
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-11-14 17:15 UTC by Need Real Name
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 0.95.0-15
Clone Of:
Environment:
Last Closed: 2007-01-05 11:18:34 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Need Real Name 2006-11-14 17:15:18 UTC
Description of problem:
Lesstif package needs to conflict with openmotif21.

Version-Release number of selected component (if applicable):
lesstif 0.95.0-10.fc6

How reproducible:
Always

Steps to Reproduce:
1. Install FC6
2. Install the openmotif21 rpm from FC4
3. Yum install nedit from Fedora Extras
4. Execute 'nedit' in an gnome terminal.
  
Actual results:
The nedit program crashes.

Expected results:
The nedit program should not crash.

Additional info:
If you execute 'ldd /usr/bin/nedit', you will see that nedit is
obtaining its libXm.so.2 dependency from the openmotif21 package's
shared library placed in /usr/X11R6/lib instead of lesstif's copy
in /usr/lib. Because these files are in different locations there
is no conflict over the duplicate shared libraries. The easiest
solution is to add a Conflicts on openmotif21 to the lesstif package
in FC6.

Comment 1 Mike Brown 2006-12-27 19:21:04 UTC
After upgrading from FC2 to FC6, via DVD, and then running "yum update," a 
bunch off errors that look like the following appear:

  file /usr/include/uil/XmAppl.uil from install of lesstif-devel-0.95.0-10.fc6 
conflicts with file from package openmotif-devel-2.2.3-2

Lesstif should be marked as replacing openmotif, but it is not.  Once openmotif-
devel-2.2.3-2 is removed, lesstif 0.95 installs (actually updates 0.93).


Comment 2 Thomas Woerner 2007-01-04 15:47:05 UTC
lesstif is part of extras.

Comment 3 Patrice Dumas 2007-01-04 15:53:21 UTC
(In reply to comment #1)
> After upgrading from FC2 to FC6, via DVD, and then running "yum update," a 
> bunch off errors that look like the following appear:
> 
>   file /usr/include/uil/XmAppl.uil from install of lesstif-devel-0.95.0-10.fc6 
> conflicts with file from package openmotif-devel-2.2.3-2
> 
> Lesstif should be marked as replacing openmotif, but it is not.  Once openmotif-
> devel-2.2.3-2 is removed, lesstif 0.95 installs (actually updates 0.93).

This should be fixed, now that there is an obsolete for lesstif-devel.

Comment 4 Patrice Dumas 2007-01-04 16:17:27 UTC
(In reply to comment #0)
> Description of problem:
> Lesstif package needs to conflict with openmotif21.

> Steps to Reproduce:
> 1. Install FC6
> 2. Install the openmotif21 rpm from FC4
> 3. Yum install nedit from Fedora Extras
> 4. Execute 'nedit' in an gnome terminal.

> Actual results:
> The nedit program crashes.
>
> Expected results:
> The nedit program should not crash.

nedit crashes because lesstif and openmotif21 are binary incompatible,
even though they provide the same soname (libXm.so.2). This is only part
of the trouble, since if they were binary compatible, nedit wouldn't
crash but would still be using openmotif21 instead of lesstif.

> Additional info:
> If you execute 'ldd /usr/bin/nedit', you will see that nedit is
> obtaining its libXm.so.2 dependency from the openmotif21 package's
> shared library placed in /usr/X11R6/lib instead of lesstif's copy
> in /usr/lib. Because these files are in different locations there
> is no conflict over the duplicate shared libraries. The easiest
> solution is to add a Conflicts on openmotif21 to the lesstif package
> in FC6.

Adding a conflict may be a good thing, but it won't solve that
issue. Indeed, lesstif won't be installed when updating nedit, since
openmotif21 would still satisfy the libXm.so.2 dependency of nedit.
(lesstif may be installed, but not because of nedit update).

lesstif could Obsolete openmotif21. It is quite unsafe, since
programs linked against openmotif21 will crash. However if it is not
done, upgrading isn't possible... How annoying.

So far there is 2 possibilities:

1. have lesstif obsolete openmotif21. It allows for upgrades. However if
   there are packages that were built against openmotif21 they will crash
   once they a re linked with lesstif libXm.so.2

2. have nedit (and all the packages built against lesstif-devel) Requires
   lesstif
   add a Conflict: openmotif21 to lesstif. It is safer because on upgrade
   packages built against lesstif will require it and then the conflict will
   show that there is something wrong. However, it breaks upgrades...

I favour 2., but there may be disagreement.

Comment 5 Patrice Dumas 2007-01-04 18:39:56 UTC
In fact it seems that openmotif21 is binary compatible with lesstif.
But openmotif21 crashes with ddd, and xmgrace dislikes being compiled
against motif and run with lesstif.

Comment 6 Need Real Name 2007-01-04 21:30:24 UTC
Lesstif is NOT binary compatible with openmotif21. The FAQ on the lesstif web site makes it clear they 
eventually aim for binary compatibility but aren't there yet. I first noticed this problem because the nedit in 
FC6 built against lesstif randomly crashes when run with the openmotif21 shared libraries. One could 
argue that Fedora serves as a platform for identifying and fixing such binary incompatibilities. While this 
might be good for lesstif development, it will drive end-users of Fedora insane.

Comment 7 Patrice Dumas 2007-01-04 22:42:35 UTC
(In reply to comment #6)
> Lesstif is NOT binary compatible with openmotif21. The FAQ on the lesstif web
site makes it clear they 
> eventually aim for binary compatibility but aren't there yet. I first noticed
this problem because the nedit in 
> FC6 built against lesstif randomly crashes when run with the openmotif21
shared libraries.

Ok. ddd and xpdf run fine with openmotif21, so I guess it is not so far
from binary compatibility.
 
> One could 
> argue that Fedora serves as a platform for identifying and fixing such binary
incompatibilities. While this 
> might be good for lesstif development, it will drive end-users of Fedora insane.

Who would argue that? Rawhide could be used for such thing, not a 
fedora release! 

Comment 8 Patrice Dumas 2007-01-04 22:52:48 UTC
(In reply to comment #0)

> If you execute 'ldd /usr/bin/nedit', you will see that nedit is
> obtaining its libXm.so.2 dependency from the openmotif21 package's
> shared library placed in /usr/X11R6/lib instead of lesstif's copy

I thought that libraries in /usr/X11R6/lib weren't used anymore?
Did you do something special to have them used?

On my system (devel), when I remove lesstif and instal openmotif21, 
I get:

        libXm.so.2 => not found



Comment 9 Patrice Dumas 2007-01-05 11:18:34 UTC
I added a versionned obsolete to allow for upgrades. Hope
it doesn't break custom software and packages...


Note You need to log in before you can comment on or make changes to this bug.