Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Some weird issues with portage
Date: Thu, 20 Nov 2008 13:09:01
Message-Id: pan.2008.11.20.13.08.50@cox.net
In Reply to: Re: [gentoo-amd64] Re: Some weird issues with portage by Tonko Mulder
1 "Tonko Mulder" <tonko.mulder@×××××.com> posted
2 43ba12950811200057t7d6ad5fehbe03184c6f56b006@××××××××××.com, excerpted
3 below, on Thu, 20 Nov 2008 08:57:17 +0000:
4
5 >> This looks very strange to me. Empty shared-object libs?
6 >>
7 >> FWIW, I have gmime-2.2.23 (only, no 2.4.x) merged here, with USE=-mono,
8 >> and equery b libemeraldengine.so returns nothing, so those
9 >> libemeraldengine.so* files must be mono related.
10 >>
11 > It's not just pan/gmime, it's for every ebuild. I now also get 'compiler
12 > cannot create executable' and I forgot what the solution for that was.
13
14 Now /that/ might explain the empty *.so* libs as well. If it can't
15 create executables, it likely can't properly create libraries either.
16 That might have been when it started, right there.
17
18 If you're getting compiler can't create executables on top of the other
19 thing, it could mean whatever was the problem has caused other problems
20 and your systems getting more and more screwed up. Tread carefully, or
21 you may end up having to reinstall from a stage tarball and effectively
22 start over (but without having to repartition and all that, starting from
23 the stage tarball).
24
25 If you've been using FEATURES=buildpkg, you probably have a working gcc
26 package you and remerge over top of the old one, to fix gcc if it becomes
27 necessary. If not, you can unpack a stage tarball into a testing area,
28 chroot into it, quickpkg up the gcc version that's there thus creating a
29 binary package, then back outside the chroot again, emerge -K the binary
30 package you created. That's the usual emergency procedure to restore a
31 working gcc. Of course, that gcc will be the one from the stage tarball,
32 and you'll have to use it to remerge a normal system gcc with your own
33 USE flags, etc.
34
35 If portage or python (which portage needs to work) is screwed, the
36 emergency procedure for replacing it starts the same way (unpack a stage
37 tarball, chroot into it, use quickpkg to create a binpkg of whatever you
38 need), but once out of the chroot, you have to do something different as
39 the portage you'd merge the binpkg with is broken. In that case, first
40 backup config files such as make.conf that the package will include and
41 thus will overwrite if you use this procedure, then untar the binary
42 package (which is a tar.bz2 with some extra data glued on the end) to /,
43 directly over top of your working system. That should get you a working
44 portage or python or whatever again, but as I said, any config files that
45 the package would have normally updated will be directly overwritten with
46 the default versions. Thus the backups, which you can now restore over
47 the default versions. Of course, if the brokenness was in your config
48 files, that will break it again, but you'll already have the package
49 available to untar over / again, and you'll /know/ it's in the config the
50 second time around and can be more careful restoring your backup config.
51 At this point you should be working again, but since you bypassed
52 portage, its idea of what's installed will be out of sync with what's
53 really installed. Thus, you'll need to remerge a working package once
54 again to get portage back in sync, and you may have a few stale files to
55 cleanup by hand as well, if the filenames changed or the packages
56 otherwise didn't install exactly the same files. Still, that's better
57 than having to start from the stage tarball and reinstall
58 /everything/.
59
60 > I don't see that path in my emerge --info, but FYI the full path is
61 > ~/dev/repo/portage and it's my git based portage tree (testing) by
62 > Daniel Robbins.
63
64 "Oh, well, carry on then." =;^)
65
66 FWIW I saw it in your login prompt, but missed the ~ at the beginning,
67 which makes /all/ the difference. Now that you've explained it, pointing
68 out my /small/ oversight which wasn't so small after all =:^(, it makes
69 perfect sense. So, um... yeah... carry on! Don't mind me! Nothing to
70 see here! =;^)
71
72 --
73 Duncan - List replies preferred. No HTML msgs.
74 "Every nonfree program has a lord, a master --
75 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-amd64] Re: Some weird issues with portage Tonko Mulder <tonko.mulder@×××××.com>