1 |
On Fri, 11 Oct 2013 21:30:18 +0900 |
2 |
heroxbd@×××××.com wrote: |
3 |
|
4 |
> > But that prefix injects rpath/runpath variables into runtime libraries |
5 |
> > and your patched glibc fails the preinst phase with |
6 |
> > |
7 |
> > Inconsistency detected by ld.so: get-dynamic-info.h: 133: |
8 |
> > elf_get_dynamic_info: Assertion `info[29] == ((void *)0)' failed! |
9 |
> > |
10 |
> > because rpath/runpath are also injected into ld.so. I presume a proper RAP |
11 |
> > install (which I don't have) will not have this issue. To that end I |
12 |
> > have tried |
13 |
> |
14 |
> What gcc/binutils are you using when compiling glibc? If they are from a |
15 |
> Prefix-rpath installation, you need to do it manually, |
16 |
> |
17 |
> ln -sf $BPREFIX/usr/$(portageq envvar CHOST)/{binutils-bin/2.23,bin}/ld |
18 |
> |
19 |
> as documented in https://wiki.gentoo.org/wiki/Prefix/libc#sys-libs.2Fglibc |
20 |
|
21 |
Yes, I missed that point! Perhaps because of the distinction between |
22 |
$EPREFIX and $BPREFIX. Everything under my |
23 |
|
24 |
$EPREFIX/usr/$(portageq envvar CHOST)/bin |
25 |
|
26 |
is a symlink except ld. Adding the symlink did fix things. However, I do |
27 |
see during the postinst phase: |
28 |
|
29 |
/storage/strogdon/gentoo-redlizard//usr/sbin/iconvconfig: cannot open |
30 |
`/storage/strogdon/gentoo-redlizard//storage/strogdon/gentoo-redlizard/usr/lib/gconv/gconv-modules': |
31 |
No such file or directory |
32 |
/storage/strogdon/gentoo-redlizard//usr/sbin/iconvconfig: no output file |
33 |
produced because warnings were issued |
34 |
|
35 |
so maybe there is a double prefix thing going on there. |
36 |
|
37 |
Now after the install of your patched glibc I'm still unable to get getent (or |
38 |
id) to parse $EPREFIX/etc/{passwd, group}. Parsing $EPREFIX/var/db does work. So |
39 |
there must be some hardcoded path somewhere. An strace shows that, besides the |
40 |
db lookup only /etc is parsed for {passwd, group}. |
41 |
|
42 |
> |
43 |
> > [1.] |
44 |
> > http://dev.gentoo.org/~heroxbd/bootstrap-rap.sh |
45 |
> > |
46 |
> > and mpc-1.0.1 fails to find gmp.h |
47 |
> > |
48 |
> > checking for gmp.h... no |
49 |
> > configure: error: gmp.h cannot be found or is unusable. |
50 |
> > |
51 |
> > At this point gmp.h is present in $EPREFIX/usr/include. |
52 |
> |
53 |
> So you go all the way to mpc and mpfr builds without a problem? |
54 |
> |
55 |
|
56 |
Yes. The configure line for mpfr has |
57 |
|
58 |
--with-gmp-include=/storage/gentoo-rap/usr/include |
59 |
|
60 |
but not so for mpc. |
61 |
|
62 |
> > This same mpc does build in my Debian prefix with native glibc. |
63 |
> |
64 |
> What's "Debian prefix with native glibc"? Do you mean that it can be |
65 |
> built against the host Debian? |
66 |
> |
67 |
|
68 |
Poor choice of words. The host glibc is not being used (I hope not). The glibc |
69 |
is "native" to the prefix. For mpc built within the prefix I see |
70 |
|
71 |
ldd -r /storage/strogdon/gentoo-redlizard/usr/lib/libmpc.so |
72 |
|
73 |
libmpfr.so.4 => /storage/strogdon/gentoo-redlizard/usr/lib/libmpfr.so.4 |
74 |
(0x00007f2c4ed5b000) |
75 |
libgmp.so.10 => /storage/strogdon/gentoo-redlizard/usr/lib/libgmp.so.10 |
76 |
(0x00007f2c4eaec000) |
77 |
libm.so.6 => /storage/strogdon/gentoo-redlizard/lib/libm.so.6 |
78 |
(0x00007f2c4e7ee000) |
79 |
libgcc_s.so.1 |
80 |
=> /storage/strogdon/gentoo-redlizard/usr/x86_64-pc-linux-gnu/lib/gcc/libgcc_s.so.1 |
81 |
(0x00007f2c4e5d7000) |
82 |
libc.so.6 => /storage/strogdon/gentoo-redlizard/lib/libc.so.6 |
83 |
(0x00007f2c4e22b000) |
84 |
/storage/strogdon/gentoo-redlizard/lib64/ld-linux-x86-64.so.2 |
85 |
(0x00007f2c4f1d4000) |