1 |
Hey, Steve, |
2 |
|
3 |
Steven Trogdon <strogdon@×××××.edu> writes: |
4 |
|
5 |
> Yes, this did the trick until emerging portage-2.2.01.22124-r1. |
6 |
|
7 |
Cool! |
8 |
|
9 |
> A failure happens when, from the script |
10 |
> |
11 |
> *** emerge --oneshot --verbose sys-apps/portage |
12 |
|
13 |
> is executed. During the configure of portage I get: |
14 |
> |
15 |
> checking for user id of strogdon... |
16 |
> /storage/strogdon/gentoo-glibc/usr/bin/id: strogdon: no such user |
17 |
> configure: error: error finding the user id of strogdon |
18 |
> |
19 |
> !!! Please attach the following file when seeking support: |
20 |
> !!! /storage/strogdon/gentoo-glibc/var/tmp/portage/sys-apps/portage-2.2.01.22124-r1/work/prefix-portage-2.2.01.22124/config.log |
21 |
> ^[[31;01m*^[[0m ERROR: sys-apps/portage-2.2.01.22124-r1 failed |
22 |
> (configure phase): |
23 |
> ^[[31;01m*^[[0m econf failed |
24 |
> ^[[31;01m*^[[0m |
25 |
> ^[[31;01m*^[[0m Call stack: |
26 |
> ^[[31;01m*^[[0m ebuild.sh, line 93: Called src_configure |
27 |
> ^[[31;01m*^[[0m environment, line 2377: Called econf |
28 |
> '--with-portage-user=strogdon' '--with-portage-group=math' |
29 |
> '--with-root-user=strogdon' |
30 |
> '--with-offset-prefix=/storage/strogdon/gentoo-glibc' |
31 |
> '--with-extra-path=/usr/bin:/bin' |
32 |
> ^[[31;01m*^[[0m phase-helpers.sh, line 521: Called die |
33 |
> ^[[31;01m*^[[0m The specific snippet of code: |
34 |
> ^[[31;01m*^[[0m die "econf failed" |
35 |
> |
36 |
> I've seen this sort of thing on other tries to build glibc in prefix. |
37 |
> Here the host OS is debian and authentication is via a radius server |
38 |
> over nfs. All user specific info is not stored in /etc/passwd but in a |
39 |
> user passwd database. On gentoo, glibc sets the location to search for |
40 |
> this database as under /var/db and I believe this needs to be |
41 |
> $EPREFIX/var/db. Here on the host the database is stored under |
42 |
> /var/lib/misc. One cannot simply copy over the debian-provided |
43 |
> database to $EPREFIX/var/db and get things to work, at least I don't |
44 |
> thing so. It is possible to get things to work with a little work, |
45 |
> once the search path is $EPREFIX/var/db. One has to, from the output |
46 |
> of "/usr/bin/getent passwd" on the host, generate a database for |
47 |
> gentoo. And then some minor changes have to be made to |
48 |
> $EPREFIX/etc/nsswitch.conf so that things are database aware. To see |
49 |
> the problem, from within $EPREFIX |
50 |
> |
51 |
> $ id |
52 |
> uid=105600 gid=925(math) groups=925(math) |
53 |
> |
54 |
> and using the host id |
55 |
> |
56 |
> $ /usr/bin/id |
57 |
> uid=105600(strogdon) gid=925(math) groups=925(math) |
58 |
> |
59 |
> I don't see an easy way to deal with this without manual (user) |
60 |
> intervention, once the search path to the location of the passwd |
61 |
> database is correct. If one symlinks the $EPREFIX id to the host id |
62 |
> then portage will build but will not install due to failures when |
63 |
> python checks for uid info. |
64 |
|
65 |
This is an unexplored zone. I have tricks for ldap, i.e. ln -sf |
66 |
{,$EPREFIX}/etc/ldap.conf. But I have no experience with auth over |
67 |
radius setup. |
68 |
|
69 |
One solution is to patch glibc to look into $EPREFIX/etc/passwd (now it |
70 |
is consulting /etc/passwd). And then getent passwd > $EPREFIX/etc/passwd |
71 |
&& getent groups > $EPREFIX/etc/groups. |
72 |
|
73 |
Cheers, |
74 |
Benda |