Florian Weimer <[EMAIL PROTECTED]> writes: > Ludovic Brenta <[EMAIL PROTECTED]> writes: > > >> Your shared library support is probably incompatible with ACT's. Do > >> you really want to enable it by default? > > > > Well, yes, I would like to, especially since gnat 3.14p did, too. > > Ah, let's keep the old mistakes. 8-) > > > Could you shed some light on what makes "my" shared library support > > incompatible with ACT's? > > ACT's GNAT puts in an rpath, and links to a .so library, not a .so.1 > library. > > I just tested it: no compatibility at all, in both directions. If you > want to distribute Ada programs, you have to link statically.
Right. I don't see rpath as an issue; ACT adds it for the case when the shared library is in a non-standard location such as /usrlib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib (as the binary distribution from GNAT defaults to). If the shared library is in /usr/lib, there is no need for it and programs linked with rpath will still find the library. Conversely, programs compiled on a Debian system (without rpath) will work on other machines provided the library is in LD_LIBRARY_PATH. The real problem is the soname. I'm willing to change the soname to "libgnat-3.15p.so" (removing the .1) to become more compatible with ACT's GNAT, but does that violate the Debian Policy? > Furthermore, the FSF GNAT version (GNAT 5.00w) uses the same soname, > but is probably not ABI compatible. I think this is a real problem. It is okay if gnat, gnat-3.2, and gnat-3.3 use different ABI's, but they should use different sonames. Currently, gnat-3.2 and gnat-3.3 link statically by default, and the Debian packages do not have shared libraries, so the problem only comes up if they start supporting shared libraries. My proposal is to still support shared libraries with gnat, and keep ACT's soname even if it is slightly nonstandard with respect to Debian. If and when gnat-3.2 and -3.3 support shared libraries, they should do so with a proper soname such as "libgnat.so.3.3". Florian, as a GCC maintainer, would you be willing to try and persuade the GCC steering committee to this? If everyone agrees, here is what I'll do: - change the soname from "libgnat-3.15p.so.1" to "libgnat-3.15p.so" - change the package name from "libgnat-3.15p-1" to "libgnat-3.15p" - rebuild the other packages to update their Depends line - stick to this soname in the future -- Ludovic Brenta. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]