[csw-maintainers] MySQL shared libraries - how about /opt/csw/lib?

Philip Brown phil at bolthole.com
Sat Jan 1 20:17:53 CET 2011


On Sat, Jan 1, 2011 at 11:06 AM, Maciej (Matchek) Blizinski
<maciej at opencsw.org> wrote:
> No dia 1 de Janeiro de 2011 18:52, Philip Brown <phil at bolthole.com> escreveu:
>> On Sat, Jan 1, 2011 at 10:30 AM, Maciej (Matchek) Blizinski
>> <maciej at opencsw.org> wrote:
>>>
>>>...
>>> My proposal supports multiple versions of MySQL installed at one time,
>>> doesn't it?
>>
>>
>> maybe you could flush out a specific example of that. I didnt see that
>> in what you've written so far.
>
> I did: "The sonames of these libraries are bumped up with every MySQL update:
> 4.0: libmysqlclient.so.14, 5.0: libmysqlclient.so.15, 5.1:
> libmysqlclient.so.16."
>
> In a verbose way:
>
> Binaries that link to MySQL 4 libraries:
> NEEDED libmysqlclient.so.14
> library found in /opt/csw/lib
>
> Binaries that link to MySQL 5.0 libraries:
> NEEDED libmysqlclient.so.15
> library found in /opt/csw/lib
>
> Binaries that link to MySQL 5.1 libraries:
> NEEDED libmysqlclient.so.16
> library found in /opt/csw/lib
>
> Does it make more sense now?
>

no. you're too focused on shared libraries. youve only mentioned
binaries as they related to shared libraries.
you havent mentioned small details like where these multiple-version
binaries will actually LIVE? :-)

Your initial writeup seemed to imply that binaries would live in /opt/csw/bin
But for multiple versions, thats not so good!
Are you proposing the following:


/opt/csw/lib/  libmysql.so.50
                   libmysql.so.51

/opt/csw/mysql5/lib  libmysql.so.50 ->(lib/libmysql.so.50)
                              libmysql.so      -> (lib/libmysql.so.50)

/opt/csw/mysql/(bin,include)  -- As they are now

?

As a minor niggling point, it might be "safer" to have the 'real'
libraries in /opt/csw/mysqlprefix, and only have symlinks in
/opt/csw/lib.

That way, someone who wants to manually copy over mysql5X, can tar up
/opt/csw/mysql5X and have all actual files, rather than having to go
back later when he realizes, "oops I missed the actual libraries".

This does have some drawbacks for maintainers though.
While it serves the users better, it might mean that
overly'intelligent' configuration things such as libtool, may follow
the symlinks to the "real" location and add in explicit RPATHs to
there. which would mean the maintainer may want to trim that out.

I still think it would be better to have the real, in the prefix dir though.


More information about the maintainers mailing list