Il giorno mer, 27/10/2010 alle 12.49 +0200, "Paweł Hajdan, Jr." ha scritto: > Some context first. Upstream does not promise any binary compatibility > between releases, so each version has a different SONAME, if any.
That's a good approach (although a bothersome for its users).. > Currently dev-lang/v8 does not use SONAME (I think that's the default), > because I'm not sure what's the best way to handle it. That's bad, it _has_ to have a SONAME, otherwise you're indicating that al the versions have the same ABI (which as you just said is not the case). > When present, the SONAME will look like libv8-1.2.3.so, and the > resulting shared library will be named the same way, i.e. libv8-1.2.3.so. Technically, not needed, but let's move on. > Without SONAME, it's just libv8.so, so when linking it's sufficient to > pass -lv8 to the linker. > > With the SONAME-d library, I guess I'd need to pass -lv8-1.2.3. I was > thinking about making a symlink libv8.so -> libv8-1.2.3.so, but I'm not > sure if that's the right thing to do. Okay now you're confusing the two concepts. The DT_SONAME tag has nothing to do with the name on the filesystem for what concerns the link editor, it's used by the dynamic loader. The link above would be fine though, just let it link as libv8.so, and then be loaded as libv8-1.2.3.so. References: http://blog.flameeyes.eu/2009/10/27/a-shared-library-by-any-other-name http://blog.flameeyes.eu/2010/10/08/linkers-and-names -- Diego Elio Pettenò — “Flameeyes” http://blog.flameeyes.eu/ If you found a .asc file in this mail and know not what it is, it's a GnuPG digital signature: http://www.gnupg.org/
signature.asc
Description: This is a digitally signed message part
