View previous topic :: View next topic |
Author |
Message |
fastly n00b
Joined: 26 Oct 2005 Posts: 21
|
Posted: Thu Apr 06, 2006 9:40 pm Post subject: |
|
|
I totally agree havin-in, any emerge --update that includes a toolchain update should --ask the user by default if they wish to proceed coupled with a clear warning message and link to Gentoo documentation which elaborates on potential breakages, including precautions that should be taken and post-upgrade maintenance.
I know hand-holding is not central to Gentoo philosophy, however isn't prevention usually the best cure?
Why is it that toolchain packages are sometimes half way down the list of packages to be emerged? Shouldn't they logically always be at the top? Maybe this goes back to my last point... _________________ Gimmie a V, Gimmie an I, Gimmie an S, Gimmie a T, Gimmie an A. What does it spell? VIRUS! |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 9:44 am Post subject: |
|
|
Dang, no better solution than the one given to me by you guys very early in the thread here.
I am still alive and clicking and I still have to get Gnome working. most of the packages are reemerged. So revdep-rebuild didn't work for them all. Taken avifile out of it one or the other package start to complain about libexpat missing. I will try the hints given by gentree and the others and will be back soon.
I hate Windows. I want my gentoo back! *g* |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 9:58 am Post subject: |
|
|
It makes me wonder: How do the packages find a replacement for libexpat.so.0 when I reemerge them?
Do I have to update libexpat somewhere myself? Do I have to emerge libexpat (I think that's not possible, is it)?
There is a why for asking it: I need pango to be reemerged for gtk+ to be emerged. But Pango wants to load shared libraries like libexpat.so.0... So I need to emerge both but they depend on libexpat.so.0. So I have to use the script from stiflerstealth:
Code: | emerge --oneshot `ls -d /var/db/pkg/gnome-base/*-2.12* | sed -e "s/\/var\/db\/pkg\//\=/g"` -a |
|
|
Back to top |
|
|
pgrdsl Tux's lil' helper
Joined: 29 Aug 2002 Posts: 93 Location: Southampton, UK
|
Posted: Fri Apr 07, 2006 10:45 am Post subject: |
|
|
laurelin wrote: | It makes me wonder: How do the packages find a replacement for libexpat.so.0 when I reemerge them?
Do I have to update libexpat somewhere myself? Do I have to emerge libexpat (I think that's not possible, is it)? |
After expat-2 has been emerged, there will be a new set of headers in /usr/include, and /usr/lib/libexpat.so will be a symlink to libexpat.so.1.5.
When you re-emerge packages that use expat they will use the new header (which reflects the new ABI) and appears to be pretty much backward compatible. It will link against libexpat.so.1 - this is defined by the libtool generated file /usr/lib/libexpat.la. And, as if by magic, everything works.
Well, that's the theory. _________________ pihl |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 11:13 am Post subject: |
|
|
*lol* okay. It's a kind of magic, is it not?
Weeeeell... Then I should emerge expat-2 first...
starting the script from StiflerStealth returns:
Code: | !!! `ls -d /var/db/pkg/gnome-base/*-2.12* | sed -e "s/\/var\/db\/pkg\//\=/g"` is not a valid package atom |
by the way: which ' do I have to use? I tried it with all three I got: ' ´ and `
edit: I misspelled something. The script at last gives me the packages I need to reemerge for gnome... |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 12:03 pm Post subject: |
|
|
Great.
I reemerged expat and, after that, used the script. gnomeApplets stopped with:
Code: | libexpat.so.0, needed by /usr/lib/libfontconfig.so.1, not found. (try using -rpath or -rpath-link) |
Is there something needed before running the script?
Do I have to install a symlink to libexpat.so.1? |
|
Back to top |
|
|
Gergan Penkov Veteran
Joined: 17 Jul 2004 Posts: 1464 Location: das kleinste Kuhdorf Deutschlands :)
|
Posted: Fri Apr 07, 2006 12:08 pm Post subject: |
|
|
Yes you need to run revdep-rebuild and not this script, you must for example rebuild fontconfig and probably many more packages before you could rebuild gnome. _________________ "I knew when an angel whispered into my ear,
You gotta get him away, yeah
Hey little bitch!
Be glad you finally walked away or you may have not lived another day."
Godsmack |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 12:41 pm Post subject: |
|
|
Okay, thanks.
(And thanks for being patient with me. This libexpat-problem is not that easy at all for a Gentoo-beginner like me) |
|
Back to top |
|
|
Flatop Tux's lil' helper
Joined: 27 Nov 2002 Posts: 124 Location: Brooklyn, USA
|
Posted: Fri Apr 07, 2006 2:24 pm Post subject: |
|
|
also make sure that when you run revdep-rebuild, it does not say that it is emerging alphabetically.
That was what my home machine did, and it kept dying.
I had to manually emerge fontconfig, then pango, then gtk+ before I reran revdep-rebuild and fixed the system (after 2 days)
Last edited by Flatop on Fri Apr 07, 2006 2:32 pm; edited 1 time in total |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 2:29 pm Post subject: |
|
|
So let's make that clear:
emerging expat - done
running revdep-rebuild - done, but it gives me a lot of gnome-relatedpackages, which I have to reemerge later. So every package has to be emerged and if it relates to libexpat.so.0 and exits and does not finnish to build, then move over to the next one? And then try to emerge these package when the related packages are emerged?
Guys, what's going on here? I have to have revdep-rebuild running to fix the libexpat.so.0-problems. And if I do, they exit with libexpat.so.0-problems? that doesn't make sense. Only in a weird and crazy recursive way.
I appreciate some help, looks like I do not get it right.
I would like to get gnome running, so that I can check back and give you some feedback with logs. Now I have to retype every error my gentoo-system reports with one screen, which has a switch to change between gentoo and windows, under which I type at the moment. Every other program - aside from browser, thunderbird and terminal - doesn't concern me at the moment.
Flatop: I think that's what screws up for me either... I will check that! |
|
Back to top |
|
|
Gergan Penkov Veteran
Joined: 17 Jul 2004 Posts: 1464 Location: das kleinste Kuhdorf Deutschlands :)
|
Posted: Fri Apr 07, 2006 2:55 pm Post subject: |
|
|
Well some list of the real direct consumers of expat (some of them are fake, as not all packages could be emerged with --as-needed), but this will give a good start to the people, who still have problems with this, it is only gtk+/gnome only system (but with around 1300+ packages installed), but I think kde, does not have real direct dependancy on expat, as I have kdelib installed and it was not broken. Emerge them prior to running revdep-rebuild:
Quote: | app-admin/gnome-system-tools
app-emulation/vmware-workstation
app-office/abiword-plugins
app-office/openoffice
app-text/wv
dev-dotnet/libgdiplus
dev-lang/python
dev-libs/pwlib
dev-perl/XML-Parser
dev-python/gnome-python-extras
dev-python/pyxml
dev-util/anjuta
dev-util/subversion
gnome-base/control-center
gnome-base/gdm
gnome-extra/gnome-media
gnome-extra/gtkhtml
gnome-extra/nautilus-actions
mail-client/sylpheed-claws
media-gfx/gimageview
media-gfx/graphviz
media-gfx/gthumb
media-libs/etox
media-libs/fontconfig
media-libs/libwmf
media-libs/musicbrainz
media-sound/rhythmbox
media-video/avidemux
media-video/kino
media-video/mkvtoolnix
media-video/mpeg4ip
media-video/ogmrip
media-video/totem
net-dns/avahi
net-ftp/lftp
net-im/gaim
net-misc/neon
net-misc/vino
net-wireless/gnome-bluetooth
sys-apps/dbus
sys-apps/hal
sys-devel/gcc
www-client/epiphany
www-client/kazehakase
x11-libs/evas
x11-libs/wxGTK |
gcc-4.1.0 seems to link to expat, which is very strange, probably because of java or sth like this ? _________________ "I knew when an angel whispered into my ear,
You gotta get him away, yeah
Hey little bitch!
Be glad you finally walked away or you may have not lived another day."
Godsmack |
|
Back to top |
|
|
pgrdsl Tux's lil' helper
Joined: 29 Aug 2002 Posts: 93 Location: Southampton, UK
|
Posted: Fri Apr 07, 2006 3:03 pm Post subject: |
|
|
Gergan Penkov wrote: | gcc-4.1.0 seems to link to expat, which is very strange, probably because of java or sth like this ? |
I only have fortran, gtk, and nls USE flags active for gcc 4.1.0 and my gcc doesn't have an expat dependency.
Probably java, I'd have thought. _________________ pihl |
|
Back to top |
|
|
Albert_Alligator Apprentice
Joined: 12 May 2004 Posts: 193 Location: Okefenokee Swamp
|
Posted: Fri Apr 07, 2006 3:08 pm Post subject: |
|
|
wow, expat broke my Apache2. Had to downgrade to 1.95. _________________ As Socrates once said "I drank what?" |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 3:18 pm Post subject: |
|
|
revdep-rebuild reported on my gnome-system that kdelibs and apache were broken too, but I do not need the last one at the moment.
Flatop gave a real good hint:
Flatop wrote: | I had to manually emerge fontconfig, then pango, then gtk+ | It helped me to get gtk+ to emerge. Keep that in mind when rebuilding your system. Fontconfig sounds like some minor tool, but it is essential for pango.
GTK+ needs pango, pango needs fontconfig.
Since there are so many users having problems with libexpat, it would be great to give them a howto to get their system back to work. I'm can't do that, because I am no guru. But maybe it is to different a problem on all systems being affected by it. That would be perilous when some day libexpat is being moved to '~stable'... |
|
Back to top |
|
|
pgrdsl Tux's lil' helper
Joined: 29 Aug 2002 Posts: 93 Location: Southampton, UK
|
Posted: Fri Apr 07, 2006 3:50 pm Post subject: |
|
|
laurelin wrote: | running revdep-rebuild - done, but it gives me a lot of gnome-relatedpackages, which I have to reemerge later.
So every package has to be emerged and if it relates to libexpat.so.0 and exits and does not finnish to build, then move over to the next one? And then try to emerge these package when the related packages are emerged? |
Just so I understand: you are running:
And it is doing what? Falling over during the compilations? Not finding all libexpat.so.0 links?
Looking at how revdep-rebuild is supposed to work, it identifies the packages with broken dynamic libraries and then does a:
Code: | emerge --emptytree --pretend ... |
filtering out just the ebuilds that it has already identified as needing to rebuild. This ordered list is put in to the .revdep-rebuild.5_order file (in your home directory).
It therefore should try to build things in the order that they would be emerged if you were starting from a completely clean system. It should automatically do things in the "right order".
In theory, of course.
(Oh, it's probably worth running revdep-rebuild -i to get rid of previously generated data; I tend to do revdep-rebuild -i -p, quick look at what's going to get done, and then revdep-rebuild.) _________________ pihl |
|
Back to top |
|
|
Gergan Penkov Veteran
Joined: 17 Jul 2004 Posts: 1464 Location: das kleinste Kuhdorf Deutschlands :)
|
Posted: Fri Apr 07, 2006 4:07 pm Post subject: |
|
|
The problem with the ordering could not be resolved from revdep-rebuild, it depends on how old the install is and how often the system was rebuilt or updated, as every recompile and update link in the packages more and more artificial dependacies of which portage knows nothing.
I have had 6 months ago such experience, after removing the howl flag, I had to rebuild around 40 packages with trial and fail algorithm, and this after emerge --newuse world.
After that I realised that the current gentoo system is totally broken without the --as-needed linker flag, or the second possibility is nuking the la-files (which inhibit all these cruft dependacies and cause more and more problems recently). _________________ "I knew when an angel whispered into my ear,
You gotta get him away, yeah
Hey little bitch!
Be glad you finally walked away or you may have not lived another day."
Godsmack |
|
Back to top |
|
|
laurelin Tux's lil' helper
Joined: 16 May 2005 Posts: 84 Location: Germany, Old Europe
|
Posted: Fri Apr 07, 2006 4:11 pm Post subject: |
|
|
I'm running revdep-rebuild. It's checking all the links and finding a lot of packages with missing links. After it's finished (yes, it runs through and building output for 'emerge'), it gives the output to emerge - I have to get the output and change two or three things - i.e. there is no avifile and I have to change the version number of kdearts from 3.5.1 to 3.5.2 because I did a emerge --sync this morning. But after that I sent the emerge-command-line to the terminal by hand. Then, because it doesn't know which package depends on what other, it stops from time to time to tell me 'I need gtk+ to emerge thisorthat, it isn't there' or 'I need libexpat.so.0' (with missing fontconfig when emerging pango for example). So I have to emerge things manually most of the time and check what's needed (luckily, there are very good error-messages when compiling some Gentoo-stuff).
There is no 'emerge --emptytree' at this time, at least no such thing is printed on the screen.
It says more or less something like 'I can't emerge the packages in this order, I will randomize the order'. I think this is the reason it doesn't run through automatically and I have to put the packages in an order my system accepts (that means 'find the dependencies for emerging the pacakges myself').
You mean there is a possibility to get the right order from a file? Maybe from .revdep-rebuild.5_order-file?
I think Gergan is right - I have this system running for some time and updated it quite a lot. So I have to go through this. Maybe there is something needed to catch that problem - some portage-function, revdep-fix-that or something similar... |
|
Back to top |
|
|
pgrdsl Tux's lil' helper
Joined: 29 Aug 2002 Posts: 93 Location: Southampton, UK
|
Posted: Fri Apr 07, 2006 4:18 pm Post subject: |
|
|
Gergan Penkov wrote: | The problem with the ordering could not be resolved from revdep-rebuild, it depends on how old the install is and how often the system was rebuilt or updated, as every recompile and update link in the packages more and more artificial dependacies of which portage knows nothing. |
Can you elaborate (just for my own interest ) ?
revdep-rebuild uses emerge -ep <package list> to generate the ordering (well, it does if all the packages still exist in portage; if they don't, you do have to manually intervene).
I can see that if the ebuilds have got incomplete dependency information then there's going to be a problem, but I can't see how recompilations and updates introduce "hidden" dependencies (I can see how it flattens the dependency tree, so that A may depend explicitly on libB, and libB explicitly on libC, so A depends implicitly on libC, but that would just mean that if libC "broke", then libB and A would have to get rebuilt, and the normal ordering stuff should work). Of course, this all becomes screwed if circular dependencies creep in...
Btw, is there a bug logged for this behaviour? _________________ pihl |
|
Back to top |
|
|
Gergan Penkov Veteran
Joined: 17 Jul 2004 Posts: 1464 Location: das kleinste Kuhdorf Deutschlands :)
|
Posted: Fri Apr 07, 2006 4:26 pm Post subject: |
|
|
Look here - this was my original thread https://forums.gentoo.org/viewtopic.php?p=2895408#2895408
there is a link to my gnome bug, which supports the notion of all this, and there are more examples around https://bugs.gentoo.org/show_bug.cgi?id=128035 and so on.
[edit] and it is obvious that I with --as-needed flag had to rebuild 20-30 packages, and there are users, which need to emerge -e world to recover from this[/edit] _________________ "I knew when an angel whispered into my ear,
You gotta get him away, yeah
Hey little bitch!
Be glad you finally walked away or you may have not lived another day."
Godsmack |
|
Back to top |
|
|
pgrdsl Tux's lil' helper
Joined: 29 Aug 2002 Posts: 93 Location: Southampton, UK
|
Posted: Fri Apr 07, 2006 6:46 pm Post subject: |
|
|
Ah. Ok, so at least part of the problem was that things were not properly being recorded as dependencies, combined with all the usual libtool excitement.
Still can't see why, if all the dependencies were recorded correctly, that revdep-rebuild wouldn't work as advertised, but I'll take your word for it. _________________ pihl |
|
Back to top |
|
|
Gergan Penkov Veteran
Joined: 17 Jul 2004 Posts: 1464 Location: das kleinste Kuhdorf Deutschlands :)
|
Posted: Fri Apr 07, 2006 6:59 pm Post subject: |
|
|
Well as far as I remember one of these packages was gtkhml, it has nothing to do with howl and it does not depend on howl. So rebuilding it even with empty tree and so on will not help, because libtool pulls on link from some other package libhowl, which in that very moment is non-existant and of course all of this fails.
To unwind such process is very hard, as we see now with libexpat, although there are not that much packages, which depend on it.
As I read the flameeyes blog kde does not depend at all on expat, but alas it is a nightmare for some users, who need to rebuild all of it.
So this is what I mean with artificial dependancies, they are fictitious and should not be there, that's why portage knows nothing about them and should not know. _________________ "I knew when an angel whispered into my ear,
You gotta get him away, yeah
Hey little bitch!
Be glad you finally walked away or you may have not lived another day."
Godsmack |
|
Back to top |
|
|
gorilla2 n00b
Joined: 09 Aug 2005 Posts: 18
|
Posted: Fri Apr 07, 2006 10:10 pm Post subject: |
|
|
I am having the libexpat problems too, and I noticed this (Im not sure if its even significant):
(Using gedit as an example)
Running gedit of course shows the breakage:
Code: |
# gedit
gedit: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory
|
and looking at the output of ldd for gedit shows
Code: |
# ldd /usr/bin/gedit | grep expat
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb71fa000)
libexpat.so.0 => not found
|
So I tried the symlink hack
Code: |
# cd /usr/lib
# ln -s libexpat.so.1.5.0 libexpat.so.0
|
and now the output of ldd for gedit indicates that gedit does not need libexpat.so.0 at all??
Code: |
# ldd /usr/bin/gedit | grep expat
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7205000)
|
gedit now starts. However, removing the symlink reverts to the original situtation...
As I said, Im not to sure if this is even significant, however seems inconsistant and a little werid to me. |
|
Back to top |
|
|
pgrdsl Tux's lil' helper
Joined: 29 Aug 2002 Posts: 93 Location: Southampton, UK
|
Posted: Sat Apr 08, 2006 9:35 am Post subject: |
|
|
gorilla2 wrote: | I am having the libexpat problems too, and I noticed this (Im not sure if its even significant):
(Using gedit as an example)
Running gedit of course shows the breakage:
Code: |
# gedit
gedit: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory
|
and looking at the output of ldd for gedit shows
Code: |
# ldd /usr/bin/gedit | grep expat
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb71fa000)
libexpat.so.0 => not found
|
...nip...
As I said, Im not to sure if this is even significant, however seems inconsistant and a little werid to me. |
It looks like gedit is linked against a library that has been rebuilt against expat-2, and one that hasn't. What does "revdep-rebuild -i -p --library libexpat.so.0" come up with? (I for libexpat.so.1, I get:
Code: | [ebuild R ] dev-libs/expat-2.0.0
[ebuild R ] dev-perl/XML-Parser-2.34
[ebuild R ] media-libs/fontconfig-2.3.2-r1
[ebuild R ] media-libs/mesa-6.4.2-r2
[ebuild R ] x11-libs/pango-1.10.4
[ebuild R ] x11-libs/gtk+-2.8.13
[ebuild R ] gnome-base/gconf-2.12.1-r1
[ebuild R ] sys-apps/dbus-0.61-r1
[ebuild R ] sys-apps/hal-0.5.5.1-r3
[ebuild R ] app-text/poppler-0.5.1-r1
[ebuild R ] gnome-base/libbonoboui-2.10.1-r1
[ebuild R ] gnome-base/gnome-keyring-0.4.6
[ebuild R ] gnome-base/libgnomeui-2.12.1
[ebuild R ] gnome-base/gnome-desktop-2.12.3
[ebuild R ] gnome-base/librsvg-2.12.7
[ebuild R ] gnome-base/nautilus-2.12.2
[ebuild R ] app-admin/gnome-system-tools-1.4.1
[ebuild R ] app-editors/gedit-2.12.1
[ebuild R ] x11-wm/metacity-2.12.3
[ebuild R ] gnome-base/control-center-2.12.3
[ebuild R ] gnome-base/gdm-2.8.0.7
[ebuild R ] gnome-base/gnome-panel-2.12.3
[ebuild R ] gnome-base/gnome-session-2.12.0
[ebuild R ] gnome-extra/gcalctool-5.6.31
[ebuild R ] gnome-extra/gconf-editor-2.12.1
[ebuild R ] gnome-extra/gnome-keyring-manager-2.12.0
[ebuild R ] gnome-extra/nautilus-cd-burner-2.12.3
[ebuild R ] gnome-extra/gnome-media-2.12.0
[ebuild R ] gnome-extra/gtkhtml-2.6.3
[ebuild R ] gnome-extra/gucharmap-1.4.4
[ebuild R ] gnome-extra/yelp-2.12.2
[ebuild R ] mail-client/mail-notification-2.0
[ebuild R ] media-gfx/graphviz-2.6-r1
[ebuild R ] media-gfx/gthumb-2.6.8-r2
[ebuild R ] media-libs/libquicktime-0.9.7-r1
[ebuild R ] media-libs/musicbrainz-2.1.2
[ebuild R ] x11-libs/vte-0.11.18
[ebuild R ] media-sound/grip-3.3.1
[ebuild R ] media-video/mjpegtools-1.8.0-r1
[ebuild R ] media-video/kino-0.8.0
[ebuild R ] media-video/totem-1.2.1
[ebuild R ] media-video/xine-ui-0.99.4-r4
[ebuild R ] net-analyzer/gnome-netstatus-2.12.0
[ebuild R ] net-analyzer/gnome-nettool-1.4.1
[ebuild R ] net-misc/vino-2.12.0
[ebuild R ] www-client/epiphany-1.8.4.1
[ebuild R ] x11-libs/wxGTK-2.6.2-r1
[ebuild R ] x11-terms/gnome-terminal-2.12.0
| ) _________________ pihl |
|
Back to top |
|
|
andrewwalker27 l33t
Joined: 27 Jun 2005 Posts: 660
|
Posted: Sat Apr 08, 2006 10:43 am Post subject: |
|
|
Can someone explain to me (in simple terms) what the problem is with expat-2.0.0 and what I should do with it!
I'm running ~x86 and had to block expat-2.0.0 because of the dreaded libexpat.so.0 missing errors and re-emerge world then revdep-rebuild to get my system back to normal. As this took days to clear up I'm naturally a bit apprehensive unmasking it until I know how to proceed. Is it ok just to emerge expat-2.0.0 as long as you don't do revdep-rebuild? Sould I leave it masked until the problem is solved? Is the problem with revdep-rebuild rather than expat?
I've tried following this thread but it's gone way over my head now!
Many thanks to anyone who replies. |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Sat Apr 08, 2006 10:48 am Post subject: |
|
|
andrewwalker27 wrote: | Is it ok just to emerge expat-2.0.0 as long as you don't do revdep-rebuild? |
No, it is okay as long as you _DO_ revdep-rebuild. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|