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