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

Re: maserver: Dynamic libraries inside a program package



On Tue, Feb 01, 2005 at 04:00:00AM +0100, Miriam Ruiz wrote:
> > It's true that you usually should not have shared
> > libraries in an
> > application package, but that is not the meaning of
> > this error.  This error
> > means that the file that you have placed in /usr/lib
> > is *not a shared
> > library*.  If the file does not declare an SONAME,
> > it's not a shared library
> > and should not be placed in /usr/lib.
> > 
> > But for that matter, if /usr/bin/maserver is the
> > only thing that will ever
> > use this library, it shouldn't be a shared library
> > or plugin at all: it
> > should be statically linked into your binary.

> I've compiled it statically, with the following
> results in the size of the plugins:

> Files with dynamic linking:

>  73312 decode.so
>  20688 fileformats.so
>  41916 fileinput.so
> 147328 httpd.so
>  56944 httpoutput.so
>  44524 intpllist.so
>  19476 mp3fileformat.so
>   9280 mp3media.so
>  19316 mp3packetizer.so
>  14868 mp3rtpparser.so
>  14824 mp3rtpproducer.so
>  40308 rtpinput.so
>  46160 rtpoutput.so
>  45784 rtp.so

> Files with static linking:

> 371632 decode.so
> 317476 fileformats.so
> 336320 fileinput.so
> 422144 httpd.so
> 348688 httpoutput.so
> 344640 intpllist.so
> 315336 mp3fileformat.so
>  16956 mp3media.so
> 315288 mp3packetizer.so
> 311664 mp3rtpparser.so
> 312700 mp3rtpproducer.so
> 356288 rtpinput.so
> 354708 rtpoutput.so
> 340896 rtp.so

> The difference of size in the executable is 12.1 Kb vs
> 276.5 Kb, but i think that's not very relevant. It
> seems that dynamic linking would be a good idea in
> this case even when the library is not used for
> anything else. Ideas?

But if the plugins are only loaded by maserver, you don't need to link the
plugins against libmaserver *at all*, statically or dynamically.  This was
the point from my earlier message.

If you statically link libmaserver into maserver, you get a minimal
*reduction* in the total install size of the package, you get a minimal
reduction in the startup time for the application, and you get policy
compliance.  Sounds like a winning strategy to me.

-- 
Steve Langasek
postmodern programmer

Attachment: signature.asc
Description: Digital signature


Reply to: