1 |
Il giorno mer, 27/10/2010 alle 12.49 +0200, "Paweł Hajdan, Jr." ha |
2 |
scritto: |
3 |
> Some context first. Upstream does not promise any binary compatibility |
4 |
> between releases, so each version has a different SONAME, if any. |
5 |
|
6 |
That's a good approach (although a bothersome for its users).. |
7 |
|
8 |
> Currently dev-lang/v8 does not use SONAME (I think that's the default), |
9 |
> because I'm not sure what's the best way to handle it. |
10 |
|
11 |
That's bad, it _has_ to have a SONAME, otherwise you're indicating that |
12 |
al the versions have the same ABI (which as you just said is not the |
13 |
case). |
14 |
|
15 |
> When present, the SONAME will look like libv8-1.2.3.so, and the |
16 |
> resulting shared library will be named the same way, i.e. libv8-1.2.3.so. |
17 |
|
18 |
Technically, not needed, but let's move on. |
19 |
|
20 |
> Without SONAME, it's just libv8.so, so when linking it's sufficient to |
21 |
> pass -lv8 to the linker. |
22 |
> |
23 |
> With the SONAME-d library, I guess I'd need to pass -lv8-1.2.3. I was |
24 |
> thinking about making a symlink libv8.so -> libv8-1.2.3.so, but I'm not |
25 |
> sure if that's the right thing to do. |
26 |
|
27 |
Okay now you're confusing the two concepts. The DT_SONAME tag has |
28 |
nothing to do with the name on the filesystem for what concerns the link |
29 |
editor, it's used by the dynamic loader. |
30 |
|
31 |
The link above would be fine though, just let it link as libv8.so, and |
32 |
then be loaded as libv8-1.2.3.so. |
33 |
|
34 |
References: |
35 |
|
36 |
http://blog.flameeyes.eu/2009/10/27/a-shared-library-by-any-other-name |
37 |
http://blog.flameeyes.eu/2010/10/08/linkers-and-names |
38 |
|
39 |
|
40 |
-- |
41 |
Diego Elio Pettenò — “Flameeyes” |
42 |
http://blog.flameeyes.eu/ |
43 |
|
44 |
If you found a .asc file in this mail and know not what it is, |
45 |
it's a GnuPG digital signature: http://www.gnupg.org/ |