1 |
On Sun, Sep 8, 2013 at 6:47 PM, <heroxbd@×××××.com> wrote: |
2 |
> Dear Steven, |
3 |
> |
4 |
> Steven Trogdon <strogdon@×××××.edu> writes: |
5 |
> |
6 |
>> I've tried bootstrap-rap.sh here. I get a failure during stage3 when |
7 |
>> installing glibc: |
8 |
>> |
9 |
>> ^[[33;01m*^[[0m QA Notice: the following files use invalid (possible |
10 |
>> non-prefixed) shebangs: |
11 |
>> ^[[33;01m*^[[0m |
12 |
>> storage/strogdon/gentoo-glibc/usr/bin/mtrace:/usr/bin/perl (script |
13 |
>> mtrace installed in PATH but interpreter /usr/bin/perl not found) |
14 |
> |
15 |
> Hmmm, we don't have a perl inside $EPREFIX yet... |
16 |
> |
17 |
> I have updated the bootstrap script by symlinking an available perl to |
18 |
> $EPREFIX/usr/bin: |
19 |
> |
20 |
> https://github.com/redlizard/prefix-libc/commit/daceddc9a |
21 |
> |
22 |
> You can try out the new bootstrap script at |
23 |
> |
24 |
> http://dev.gentoo.org/~heroxbd/bootstrap-rap.sh |
25 |
> |
26 |
> Thanks, |
27 |
> |
28 |
> Benda |
29 |
> |
30 |
|
31 |
Yes, this did the trick until emerging portage-2.2.01.22124-r1. A |
32 |
failure happens when, from the script |
33 |
|
34 |
*** emerge --oneshot --verbose sys-apps/portage |
35 |
|
36 |
is executed. During the configure of portage I get: |
37 |
|
38 |
checking for user id of strogdon... |
39 |
/storage/strogdon/gentoo-glibc/usr/bin/id: strogdon: no such user |
40 |
configure: error: error finding the user id of strogdon |
41 |
|
42 |
!!! Please attach the following file when seeking support: |
43 |
!!! /storage/strogdon/gentoo-glibc/var/tmp/portage/sys-apps/portage-2.2.01.22124-r1/work/prefix-portage-2.2.01.22124/config.log |
44 |
^[[31;01m*^[[0m ERROR: sys-apps/portage-2.2.01.22124-r1 failed |
45 |
(configure phase): |
46 |
^[[31;01m*^[[0m econf failed |
47 |
^[[31;01m*^[[0m |
48 |
^[[31;01m*^[[0m Call stack: |
49 |
^[[31;01m*^[[0m ebuild.sh, line 93: Called src_configure |
50 |
^[[31;01m*^[[0m environment, line 2377: Called econf |
51 |
'--with-portage-user=strogdon' '--with-portage-group=math' |
52 |
'--with-root-user=strogdon' |
53 |
'--with-offset-prefix=/storage/strogdon/gentoo-glibc' |
54 |
'--with-extra-path=/usr/bin:/bin' |
55 |
^[[31;01m*^[[0m phase-helpers.sh, line 521: Called die |
56 |
^[[31;01m*^[[0m The specific snippet of code: |
57 |
^[[31;01m*^[[0m die "econf failed" |
58 |
|
59 |
I've seen this sort of thing on other tries to build glibc in prefix. |
60 |
Here the host OS is debian and authentication is via a radius server |
61 |
over nfs. All user specific info is not stored in /etc/passwd but in a |
62 |
user passwd database. On gentoo, glibc sets the location to search for |
63 |
this database as under /var/db and I believe this needs to be |
64 |
$EPREFIX/var/db. Here on the host the database is stored under |
65 |
/var/lib/misc. One cannot simply copy over the debian-provided |
66 |
database to $EPREFIX/var/db and get things to work, at least I don't |
67 |
thing so. It is possible to get things to work with a little work, |
68 |
once the search path is $EPREFIX/var/db. One has to, from the output |
69 |
of "/usr/bin/getent passwd" on the host, generate a database for |
70 |
gentoo. And then some minor changes have to be made to |
71 |
$EPREFIX/etc/nsswitch.conf so that things are database aware. To see |
72 |
the problem, from within $EPREFIX |
73 |
|
74 |
$ id |
75 |
uid=105600 gid=925(math) groups=925(math) |
76 |
|
77 |
and using the host id |
78 |
|
79 |
$ /usr/bin/id |
80 |
uid=105600(strogdon) gid=925(math) groups=925(math) |
81 |
|
82 |
I don't see an easy way to deal with this without manual (user) |
83 |
intervention, once the search path to the location of the passwd |
84 |
database is correct. If one symlinks the $EPREFIX id to the host id |
85 |
then portage will build but will not install due to failures when |
86 |
python checks for uid info. |
87 |
|
88 |
Steve |