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.
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).
lesstif is part of extras.
(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.
(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.
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.
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.
(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!
(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
I added a versionned obsolete to allow for upgrades. Hope it doesn't break custom software and packages...