Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 84243 - motif-config installs incorrect includes
Summary: motif-config installs incorrect includes
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Heinrich Wendel (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-05 15:08 UTC by Carl A. Dunham
Modified: 2005-03-14 05:10 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carl A. Dunham 2005-03-05 15:08:04 UTC
This is kind of a lame bug report, but hopefully it will make some sense to someone...

Had an error running emacs, it couldn't find libXm.so.3, so based on previous experience with this, I tried re-emerging emacs, and it failed because it couldn't find files in /usr/include/Xm

Looking there, I saw that /usr/include/Xm was a directory containing a single link:

Xm -> /usr/include/openmotif-2.2/Xm

(turned out the same was true for /usr/include/{uil,Mrm} )

re-emergine openmotif-2.2.3-r4 seemed to work OK, although in the clean step, it had some odd messages:

...
--- !targe sym /usr/lib/openmotif-2.2/libMrm.so.3
--- !targe sym /usr/lib/openmotif-2.2/libMrm.so
>>> original instance of package unmerged safely.
 * /usr/bin/motif-config: Installing Profile: openmotif-2.2
rm: cannot remove `/usr/include/Mrm': Is a directory
rm: cannot remove `/usr/include/Xm': Is a directory
rm: cannot remove `/usr/include/uil': Is a directory
ln: `/usr/include/Mrm/Mrm': File exists
ln: `/usr/include/Xm/Xm': File exists
ln: `/usr/include/uil/uil': File exists
 * /usr/bin/motif-config: New default Profile is: openmotif-2.2
>>> Regenerating /etc/ld.so.cache...
...

so, I ran 'motif-config --uninstall openmotif-2.2', manually removed /usr/include/{Xm,uil,Mrm} and ran 'motif-config --install openmotif-2.2', which seemed to clear things up. Could now emerge emacs, and run it thereafter.

Looks like at some point /usr/include/Xm was a real directory, and motif-config (or someone else) tried 'ln -s /usr/include/openmotif-2.2/Xm /usr/include/Xm', which resulted in the link in the directory, not *as* the directory.

Just a guess tho...

By the way, 'motif-config -I' returns '/usr/lib/openmotif-2.2/' because the script calls get_lib_path instead of get_inc_path (x11-libs/motif-config-0.3). Not sure if anyone is using this or not.
Comment 1 Heinrich Wendel (RETIRED) gentoo-dev 2005-03-06 03:46:35 UTC
i don't know why /usr/include/Xm remainded on your installation, it shouldn't. Thx for pointing out the motif-config bug, i fixed it.
Comment 2 Carl A. Dunham 2005-03-10 11:33:54 UTC
This just happened again on another machine. It looks like openmotif-2.2.3 puts its files directly into (and creates) /usr/include/Xm, etc, and updating to the slotted openmotif-2.2.3-r5 runs motif-config, which would then do the wrong thing creating links. I will try to verify this on a third machine that I think I can get to reproduce this and capture state through the various stages...
Comment 3 James McCarthy 2005-03-11 07:03:51 UTC
Removing this link breaks compiling Emacs though.  It looks in /usr/include/Xm for includes when it compiles using the motif tookit.  See bug 84591
Comment 4 Heinrich Wendel (RETIRED) gentoo-dev 2005-03-11 10:32:21 UTC
but when motif-config is run the files of the old motif version, also /usr/include/Xm, shouldn't be there anylonger
Comment 5 Faustin Roman 2005-03-12 05:05:23 UTC
I've posted a bug for Grace (http://bugs.gentoo.org/show_bug.cgi?id=84826).
It seems is not grace broken or openmotif but motif-config because 
Grace compiles with lesstif also, but I couldn't make it work with it.

I've unmerged lesstif and applyed the workaround described here:
"I ran 'motif-config --uninstall openmotif-2.2', manually removed /usr/include/{Xm,uil,Mrm} and ran 'motif-config --install openmotif-2.2'"

Now emerging grace works.
Comment 6 Carl A. Dunham 2005-03-12 11:53:54 UTC
> files of the old motif version, also /usr/include/Xm, shouldn't be there anylonger

shouldn't be, but they are.
Comment 7 Carl A. Dunham 2005-03-12 16:09:25 UTC
Here's an example of what happens from another machine:

# ll -d /usr/include/Xm
839696 drwxr-xr-x  2 root root 8192 Mar  4 01:49 /usr/include/Xm
# emerge -avuDt openmotif

These are the packages that I would merge, in reverse order:

Calculating dependencies ...done!
[ebuild  NS   ] x11-libs/openmotif-2.2.3-r5  -debug 5,029 kB

Total size of downloads: 5,029 kB

Do you want me to merge these packages? [Yes/No]
>>> emerge (1 of 1) x11-libs/openmotif-2.2.3-r5 to /

... (stuff left out) ...

make[2]: Leaving directory `/space/var/tmp/portage/openmotif-2.2.3-r5/work/openMotif-2.2.3'
make[1]: Leaving directory `/space/var/tmp/portage/openmotif-2.2.3-r5/work/openMotif-2.2.3'
 * Fixing binaries
 * Fixing libraries
mv: cannot move `/var/tmp/portage/openmotif-2.2.3-r5/image//usr/lib/openmotif-2.2' to a subdirectory of itself, `/var/tmp/portage/openmotif-2.2.3-r5/image//usr/lib/openmotif-2.2/openmotif-2.2'
 * Fixing includes
mv: cannot move `/var/tmp/portage/openmotif-2.2.3-r5/image//usr/include/openmotif-2.2' to a subdirectory of itself, `/var/tmp/portage/openmotif-2.2.3-r5/image//usr/include/openmotif-2.2/openmotif-2.2'
 * Fixing man pages
man:
gzipping man page: xmbind-openmotif-2.2.1
gzipping man page: mwm-openmotif-2.2.1

...

>>> /usr/lib/openmotif-2.2/libXm.so.3.0.2
--- /usr/include/
--- /usr/include/openmotif-2.2/
--- /usr/include/openmotif-2.2/Mrm/
>>> /usr/include/openmotif-2.2/Mrm/MrmDecls.h
>>> /usr/include/openmotif-2.2/Mrm/MrmPublic.h
>>> /usr/include/openmotif-2.2/Mrm/MrmAppl.h
>>> /usr/include/openmotif-2.2/Mrm/MrmosI.h
--- /usr/include/openmotif-2.2/Xm/
>>> /usr/include/openmotif-2.2/Xm/ArrowB.h

...

>>> /usr/share/doc/openmotif-2.2.3-r5/TODO.gz
 * /usr/bin/motif-config: Installing Profile: openmotif-2.2
rm: cannot remove `/usr/include/Mrm': Is a directory
rm: cannot remove `/usr/include/Xm': Is a directory
rm: cannot remove `/usr/include/uil': Is a directory
ln: `/usr/include/Mrm/Mrm': File exists
ln: `/usr/include/Xm/Xm': File exists
ln: `/usr/include/uil/uil': File exists
 * /usr/bin/motif-config: New default Profile is: openmotif-2.2
>>> Regenerating /etc/ld.so.cache...

...

# ll -d /usr/include/Xm
839696 drwxr-xr-x  2 root root 8192 Mar  4 01:49 /usr/include/Xm
# ll /usr/include/Xm
total 0
834843 lrwxr-xr-x  1 root root 29 Feb 27 01:12 Xm -> /usr/include/openmotif-2.2/Xm
# ll /usr/include/Xm/Xm
834843 lrwxr-xr-x  1 root root 29 Feb 27 01:12 /usr/include/Xm/Xm -> /usr/include/openmotif-2.2/Xm
# equery l openmotif
[ Searching for package 'openmotif' in all categories among: ]
 * installed packages
[I--] [  ] x11-libs/openmotif-2.2.3-r5 (2.2)
[I--] [M ] x11-libs/openmotif-2.2.3-r4 (0)
#


HTH
Comment 8 Heinrich Wendel (RETIRED) gentoo-dev 2005-03-14 05:10:06 UTC
ok, this was caused by a incorrect slotmove line in profiles/update/1Q-2005, it should now be fixed