Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 37779 - Stable portage tree of GNOME is completely broken by /var/tmp/portage references
Summary: Stable portage tree of GNOME is completely broken by /var/tmp/portage references
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on: 37782
Blocks:
  Show dependency tree
 
Reported: 2004-01-10 03:40 UTC by Stanislav Brabec
Modified: 2004-04-25 13:41 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 Stanislav Brabec 2004-01-10 03:40:00 UTC
I have updated a machine from half-year old stable Gentoo Linux using emerge -n gnome. It has failed:

1) /usr/lib/*.la contains /var/tmp/portage/* references, it breaks further compilation

After manual fixing it, I was able to merge GNOME, but I went into problems again:

2) GNOME-VFS is broken and searches for icons and menu in /var/tmp/portage/*:
(nautilus:2067): GdkPixbuf-CRITICAL **: file gdk-pixbuf-io.c: line 729 (gdk_pixbuf_new_from_file): assertion `filename != NULL' failed
/bin/cp: cannot stat `/var/tmp/portage/nautilus-2.4.1-r2/image//usr/share/nautilus/starthere-link.desktop': no such file or directory
** (nautilus:2067): WARNING **: Failed to execute command '/bin/cp /var/tmp/portage/nautilus-2.4.1-r2/image//usr/share/nautilus/starthere-link.desktop /home/sb/Desktop/starthere.desktop'
...
Cannot open desktop file applications:///nautilus.desktop...
Trying strace gnomevfs-ls, this file is searched in /var/tmp/portage.

I have tried to upgrade libtool and recompile glib and gnome-vfs. No change.
I have tried to upgrage libtool to latest UNSTABLE version. It fixes the problem!

Fix: There is no bug in GNOME ebuilds. Upgrading libtool to latest unstable one fixes all problems.
Either make latest libtool stable, too, or fix portage to use DESTDIR.
Maybe only gnome2.eclass should force DESTDIR use (AFAIK GNOME should be completely DESTDIR-clean).


Reproducible: Always
Steps to Reproduce:
Comment 1 foser (RETIRED) gentoo-dev 2004-01-10 03:48:53 UTC
Uhm you are apperantly the only one seeing these problems, so i'd say it's probably something on your side. As you say it's probably your libtool. Well i'm not using latest unstable, nor are most of our users, so that would give a lot fo trouble if what you say is true for everyone ?

I'm not sure what you want me to do with this bug. If you can reproduce a problem with /var references in specific *.la files (of gnome packages) we can look at that, but without that this bug is pretty useless to me. And i'd say you are good enough a dev to know that.
Comment 2 Alastair Tse (RETIRED) gentoo-dev 2004-01-10 04:11:51 UTC
what versions of libtool are you using? which version have problems? 

i haven't seen anything like this so far, stable or unstable. i use /fire/1/portage/scratch as my /var/tmp:

mcvaio ~ % fgrep fire /usr/lib/*.la 
mcvaio ~ % 

unless makefiles modify/recompile (not relinking) during "make install", i don't see why this is a problem whether we use DESTDIR or prefix. and some build processes do that, that is why there is a provision in the gnome2.eclass to use DESTDIR instead.
Comment 3 Stanislav Brabec 2004-01-10 06:18:19 UTC
Maybe I was only one, who tried to upgrade any machine after half year by command "emerge -n gnome" without any "emerge world", hoping to have machine working GNOME 2.4.

There is the log of my activities:

I have had installed long time ago:
gcc-3.2.2
glibc-2.3.1-r4
autoconf-2.57-r1
portage-2.0.47-r10
libtool-1.4.1-r10
automake-1.7.2
gettext-0.11.5

I have emerged GNOME. It was broken (see original report).

Then I have updated following without any effect to glib:
portage-2.0.47-r10 -> portage-2.0.49-r20
libtool-1.4.1-r10 -> libtool-1.4.3-r1
automake-1.7.2 -> automake-1.7.5-r2
gettext-0.11.5 -> sys-devel/gettext-0.12.1

Then I have updated again:
libtool-1.4.3-r1 -> libtool-1.4.3-r3 (UNSTABLE)

On my second gentoo box, which is regularly updated to unstable, following grep doesn't find anything, too.

> grep /var/tmp/portage /usr/lib/*.la
/usr/lib/libgettextlib.la:dependency_libs=' /var/tmp/portage/gettext-0.12.1/image//usr/lib/libintl.la -lc'
/usr/lib/libgettextlib.la:libdir='/var/tmp/portage/gettext-0.12.1/image//usr/lib'
/usr/lib/libgettextpo.la:dependency_libs=' /var/tmp/portage/gettext-0.12.1/image//usr/lib/libgettextsrc.la /var/tmp/portage/gettext-0.12.1/image//usr/lib/libgettextlib.la /var/tmp/portage/gettext-0.12.1/image//usr/lib/libintl.la -lc'
/usr/lib/libgettextpo.la:libdir='/var/tmp/portage/gettext-0.12.1/image//usr/lib'
/usr/lib/libgettextsrc.la:dependency_libs=' /var/tmp/portage/gettext-0.12.1/image//usr/lib/libgettextlib.la /var/tmp/portage/gettext-0.12.1/image//usr/lib/libintl.la -lc'
/usr/lib/libgettextsrc.la:libdir='/var/tmp/portage/gettext-0.12.1/image//usr/lib'
/usr/lib/libglib-2.0.la:libdir='/var/tmp/portage/glib-2.2.3/image//usr/lib'
/usr/lib/libgobject-2.0.la:dependency_libs=' /var/tmp/portage/glib-2.2.3/image//usr/lib/libglib-2.0.la'
/usr/lib/libgobject-2.0.la:libdir='/var/tmp/portage/glib-2.2.3/image//usr/lib'
/usr/lib/libid3tag.la:libdir='/var/tmp/portage/libid3tag-0.15.0b/image//usr/lib'
/usr/lib/libintl.la:libdir='/var/tmp/portage/gettext-0.12.1/image//usr/lib'

Re-emerging gettext and glib does not help.

Now I have discovered, that emerging new libtool isn't enough (at least for glib, for gnome-vfs probably yes).

This is from glib install phase:

make[2]: Entering directory `/var/tmp/portage/glib-2.2.3/work/glib-2.2.3/glib/libcharset'
/bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DLIBDIR=\"/var/tmp/portage/glib-2.2.3/image//usr/lib\"  -pthread  -march=i686 -mmmx -O3 -Os -pipe -Wall -c localcharset.c

And later while linking any application:

libtool: link: warning: library `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../..//libgobject-2.0.la' was moved.
libtool: link: warning: library `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../..//libglib-2.0.la' was moved.
libtool: link: warning: library `/usr/lib/libgobject-2.0.la' was moved.
libtool: link: warning: library `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../..//libgobject-2.0.la' was moved.
libtool: link: cannot find the library `/var/tmp/portage/glib-2.2.3/image//usr/lib/libglib-2.0.la'

I have tried to locate the source of problem. It seems, that the bug is basically in portage, which uses deprecated style for einstall() (bug 37782). Second there is libtool, which now has work-around for this bug (libtool-*-portage.patch).

There must be any missing dependence, but I haven't any idea, what it is.
Comment 4 Stanislav Brabec 2004-01-18 08:52:02 UTC
After some investigations, I have no idea about this bug, except:

- Installation was done over NFS mounted root, and some time disparity issues could cause recompilation/relinking during installation.

- Over NFS, forcing DESTDIR installation instead of old style einstall() has fixed this problem (see patch attached to bug 37782, the same effect has replacing einstall with make DESTDIR=${D} install in ebuild).
Comment 5 foser (RETIRED) gentoo-dev 2004-04-25 13:41:49 UTC
this bug itself seems non-reproducable. the issues at the root of this should be fixed over time, but thats discussed in another bug. I'm closing this one.