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 |