This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: Patch: RFC: make libltdl search for version-specific symlinks first
Michael Koch writes:
> Am Montag, 23. August 2004 19:10 schrieb Thomas Fitzsimmons:
> > Hi,
> >
> > This patch makes libltdl search for a version-specific DSO before
> > searching for the corresponding versionless DSO. This will allow
> > multiple ABI-incompatible versions of libgcj to be installed in
> > parallel in the same prefix. Currently, this isn't possible
> > because libltdl finds only the versionless .so symlink, so only the
> > most
> > recently-installed libgcj will find the correct version of the peer
> > library.
> >
> > Currently, libltdl searches for the peer library like this: first
> > it looks for lib-gnu-java-awt-peer-gtk.la. Failing that, it looks
> > for lib-gnu-java-awt-peer-gtk.so. This patch adds an intermediate
> > search for lib-gnu-java-awt-peer-gtk.so.n, where n is the ABI
> > version number.
> >
> > Comments?
>
> I talked with Matthias Klose about this patch privately and we now
> think this patch is bit of wrong. I searches the *.la file before the
> *.so.version file but the *.so.version is hardcoded in the *.la file.
> So if an app is compiled again *.so.version and *.la points to
> *.so.version+1 it loads the wrong library.
Ah, right. This is because the .la file has no version number in its
name. Nasty.
> The solution would be to try to load the *.so.version before trying
> the *.la file.
I guess so, but this is all getting rather horrible. Paging Tom
Tromey...
Andrew.