libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lib*.so symlink


From: Brian May
Subject: Re: lib*.so symlink
Date: 03 Feb 2001 10:34:06 +1100
User-agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Capitol Reef)

>>>>> "Alexandre" == Alexandre Oliva <address@hidden> writes:

    Alexandre> Where, by `correct', I hope you mean those of 1.1.2.
    Alexandre> Otherwise, 1.1.3's headers might get you using features
    Alexandre> of 1.1.3.  For example, it would be perfectly legal for

Exactly.

    >> The only real concern I have with this proposal is libz.la
    >> (assuming libz is built with libtool). However, this is already
    >> a potential problem (programs designed for libz.so.1 could
    >> mistakenly use the libz.la file from libz.so.2 build). So I
    >> won't consider these problems here.

    Alexandre> Presumably, libz.la would be that from the older
    Alexandre> version, since libz.la is used for linking.  And then,
    Alexandre> because libtool sets dlname to the SONAME of the
    Alexandre> library, you'd still get the newer version dlopened.

    Alexandre> The only problem scenario is if you don't have the .la
    Alexandre> file: you'd probably end up dlopening the .so, that
    Alexandre> points to the older version.  If, for whatever reason,
    Alexandre> the program is also explicitly linked with the library
    Alexandre> it dlopens, you'd have two different versions of the
    Alexandre> same library linked in.  I have no idea of what kind of
    Alexandre> probably might come up.  All I know is that I wouldn't
    Alexandre> like to be there :-)

I am somewhat skeptical this problem would ever occur. The only time I
have seen dlopen used is for plugin modules, which aren't relevant to
this discussion anyway (file.so is the only one installed).

    Alexandre> So it seems to me that the policies already in place
    Alexandre> are enough to support this kind of us.  The package
    Alexandre> manager would have be adjusted so as to keep the .so
    Alexandre> and the .la of the earliest version of a library (as
    Alexandre> per the lib-dev package), and the .so.MAJOR of the
    Alexandre> latest version thereof (as per the lib package).  Or
    Alexandre> something like that :-)

Agreed.

In the discussion on debian-policy, there was some concern that this
system would break ldconfig, but it appears that these concerns are
not justified. For instance ldconfig will (apparently) update the
libz.so.2 symlink to point to the latest version of the library
installed, which is exactly what we want.
-- 
Brian May <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]