1 |
On 02/22/15 01:30, Zac Medico wrote: |
2 |
> On 02/21/2015 10:22 PM, Zac Medico wrote: |
3 |
>> If we put the real/canonical libstdc++.so path in the DT_NEEDED section, |
4 |
>> then it will automatically work with existing soname dependency support. |
5 |
> |
6 |
> Actually, we'd also have to add a way for you to put the full path of |
7 |
> the libstdc++.so in PROVIDES. For example: |
8 |
> |
9 |
> PROVIDES_ABSOLUTE="/usr/lib/gcc/*/*/libstdc++.so.6" |
10 |
> |
11 |
|
12 |
I guess I don't understand how this would work exactly. What if someone |
13 |
has gcc-4.8.3. Builds library libfoo.so which uses c++. Then upgrades |
14 |
to gcc-4.9, removes 4.8 and then tries to build bar which is also |
15 |
written in c++ and links against libfoo.so. We would have mismatching |
16 |
abis. How would this catch it and trigger the correct rebuilds? |
17 |
|
18 |
Unless I'm misunderstanding your *'s in that line. Are you using |
19 |
PROVIDES_ABSOLUTE as a way of recording what version of the compiler |
20 |
libfoo.so was build with? So that you'd have a line that says libfoo.so |
21 |
links against /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so, so |
22 |
that parsing that line gives 4.8.3? |
23 |
|
24 |
Also if you had the absolute path in VDB somewhere, like in PROVIDES, |
25 |
then you don't need it in the elf's rpath which would make me feel better. |
26 |
|
27 |
-- |
28 |
Anthony G. Basile, Ph. D. |
29 |
Chair of Information Technology |
30 |
D'Youville College |
31 |
Buffalo, NY 14201 |
32 |
(716) 829-8197 |