Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 28670

Summary: openmotif can't be built when lesstif is installed
Product: Gentoo Linux Reporter: Pierre-Henri Jondot <Pierre-Henri.Jondot>
Component: Current packagesAssignee: Heinrich Wendel (RETIRED) <lanius>
Status: RESOLVED DUPLICATE    
Severity: normal CC: mkennedy, rac
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Pierre-Henri Jondot 2003-09-13 23:48:06 UTC
I don't see why openmotif and lesstif might both be needed as they provide 
essentially the same thing but :

lesstif was a dependancy to last version (~x86) of opera browser and lesstif-0.
93.40 got installed

but then, emacs asked for openmotif instead and the emerging of openmotif-2.2.
2-r1 failed

Reproducible: Always
Steps to Reproduce:
1.emerge lesstif
2.emerge openmotif
3.

Actual Results:  
In file included from /usr/X11R6/include/Xm/DragC.h:29,
                 from /usr/X11R6/include/Xm/DragDrop.h:29,
                 from /usr/X11R6/include/Xm/Transfer.h:29,
                 from send.c:42:
/usr/X11R6/include/Xm/Xm.h:1655: parse error before "XmConvertCallbackStruct"
send.c: In function `WSMSendMessage':
send.c:92: warning: implicit declaration of function `GetTimestamp'
make[3]: *** [send.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/openmotif-2.2.
2-r1/work/openMotif-2.2.2/clients/mwm/WmWsmLib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/openmotif-2.2.
2-r1/work/openMotif-2.2.2/clients/mwm'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/openmotif-2.2.
2-r1/work/openMotif-2.2.2/clients'
make: *** [all-recursive] Error 1

!!! ERROR: x11-libs/openmotif-2.2.2-r1 failed.
!!! Function src_compile, Line 38, Exitcode 2
!!! make failed



 emerge info
Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22_pre2-gss)
=================================================================
System uname: 2.4.22_pre2-gss i686 AMD Athlon(tm) XP 1800+
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=athlon-xp -funroll-loops -fprefetch-loop-arrays -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config 
/usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -funroll-loops -fprefetch-loop-arrays -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="http://194.83.57.3/sites/www.ibiblio.org/gentoo/ http://212.219.
56.146/sites/www.ibiblio.org/gentoo/ http://212.219.56.162/sites/www.ibiblio.
org/gentoo/ http://194.83.57.11/sites/www.ibiblio.org/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg kde libg++ libwww mad 
mikmod mmx motif mpeg ncurses nls pdflib png quicktime slang spell truetype xml2 
xmms xv zlib gdbm berkdb readline bonobo svga java sdl gpm tcpd pam ssl perl 
python esd imlib oggvorbis qt opengl mozilla X gtk gnome ffmpeg xvid dvd -alsa 
-arts mysql"
Comment 1 bartron 2003-09-14 07:31:39 UTC
  openmotif-2.2.2-r2 fixes that, however...

  Since openmotif-2.2's shared libraries use a 
different major version number (libs end in `.so.3'),
you will have to recompile all package that use
Motif.

  Openmotif-2.1 and lesstif both install the same
version of their libraries (`.so.2') and are 
supposed to be binary compatible, but I'd recommend
recompiling all Motif programs as well when switching
between them (or expect some random crashes).
Comment 2 Seemant Kulleen (RETIRED) gentoo-dev 2003-09-15 08:58:55 UTC
closing this bug -- bartron hop onto irc and /msg me when you have a chance please
Comment 3 Seemant Kulleen (RETIRED) gentoo-dev 2003-09-20 03:42:45 UTC
re-opening for further examination
Comment 4 Seemant Kulleen (RETIRED) gentoo-dev 2003-09-20 03:44:05 UTC
p-h, a couple of things: I'm not able to reproduce this: I compiled openmotif with lesstif already installed, on a few occasions, and the latest today; also, it seemed as though Bartron reasoned something about it.  have you been able to verify that openmotif compiles ok with no lesstif installed?
Comment 5 Pierre-Henri Jondot 2003-09-20 04:26:49 UTC
As concerns openmotif-2.2.2-r1, yes it does build fine on my system having previously unmerged lesstif. I have not checked yet if openmotif-2.2.2-r2 (~x86) builds fine against lesstif-0.93.40 as suggests bartron or not.

The fact is I solved my problem by editing emacs ebuild by hand and getting rid of the openmotif dependancy, it then built fine and emacs just works fine too. The lesstif library did just suit emacs as well as the openmotif one I suppose.

So, in my opinion, I suppose it would be a good thing to replace the lesstif or openmotif dependancy by a virtual/motif one whenever one can be used as well as the other, which it is, I guess, the most often if not always...

Of course, that means testing... If some specific packages now specifying openmotif as a dependancy need to be tested, my cpu has some cycles left and can do some. Just tell me which ones.
Comment 6 bartron 2003-09-20 18:20:16 UTC
[Note to self: don't go online at this late hour... 
Comment #1 was written assuming that -r2 has been unmasked some
time ago...my bad...]

  The problem here is that 2.2's original autoconf build 
makes gcc look for include files in the wrong order in two 
of its subdirectories, picking up headers in `/usr/X11R6/include'
if they exist (causing trouble if they belong to a different 
Motif); this is what -r2 fixes.
Comment 7 Pierre-Henri Jondot 2003-09-21 02:32:01 UTC
The change from the openmotif-2.2.2-r1 ebuild to the -r2 one should indeed
allow it to build. But then if the two libraries provided by lesstif and
openmotif are binary incompatible, then we might have to reemerge every 
package depending on motif as suggests bartron.

Then assuming (I have no idea if such packages exist and hope not) a package
needs lesstif and won't build against openmotif, what will happen if, and 
I suppose it just does that, the emerging of openmotif replaced all the lesstif
header's files with its own ?

As for the lesstif dependancy for opera, this is not a problem of course as it
is binary and as lesstif and openmotif libraries are not the same version

In resume, but it has to be investigated, my guess is that :
 - lesstif or a previous version of openmotif is necessary to offer 
binary compatibility with opera (or I should say some plugins to opera)
and perhaps others

 - and I would suppose openmotif-2.2.2 is preferable (?) for the building
of source packages but if this is the case, we should prevent a later
emerging of lesstif to replace openmotif headers, and in the case where
openmotif-2.2.2 got emerged after lesstif, reeemerge all source packages
depending on motif...

 - and if we are very lucky, lesstif and openmotif are never both needed at
the same time... 
Comment 8 Seemant Kulleen (RETIRED) gentoo-dev 2003-09-21 19:40:42 UTC
emacs people, looks like emacs dep can be virtual/motif
Comment 9 bartron 2003-09-22 15:43:43 UTC
[moved the second issue, including some first ideas, to a new bug (bug #29388)]
Comment 10 Heinrich Wendel (RETIRED) gentoo-dev 2003-10-04 10:23:56 UTC

*** This bug has been marked as a duplicate of 29388 ***