[vorbis-dev] Distribution Fixes

Segher Boessenkool segher at wanadoo.nl
Thu Oct 26 15:07:30 PDT 2000



> It goes in the -devel package because it's only needed at build time,
> not at run time. Not including the link makes it fail when you attempt
> to include -lwhatever on the link line, which is desirable if you
> don't have the headers.

And it makes dynamic loading fail a well.

> More importantly, this is key to let users have the non-devel packages
> of multiple major versions installed. If one package contains
> libfoo.so.3.0.0 and another contains libfoo.so.4.0.0, rpm will happily
> let you install both - unless they both also contain libfoo.so. Then
> there is a file conflict. This is probably the mail reason the .so
> links go in the devel package, since RPM is set up to let you have
> multiple library versions but not multiple -devel package versions.

rpm happily overwrites files, if the .rpm contains the right package
options.

> 
> Also, the fact that 8 other packages did it that way _is_ a good
> reason. To have a sane system it's important to follow common
> packaging guidelines consistently.

Well, I know at least 8 people who use a gui package called MS Windows,
but that is not a good reson for me to use it as well.

To have a sane system it's important to follow common^H^H^H^H^H^H _good_
packaging guidelines consistently.

> The runtime dynamic linker (ld.so or ld-linux.so or whatever) needs
> the file names with the version numbers to find the right library to
> link. The static linker wants the link with only .so on the end so
> when you say -lfoo.so it knows what file to look at.

Something like that. If a program want libfoo.so.1.2.3 and you dant have it,
but you _do_ have libfoo.so.1.2.68, and a link libfoo.so.1.2 to it, it will
use that one instead. There are rules which say which part of the version
number you'll need to change if you change functionality/add functionality/change
interface etc.

Ideally, .rpm's should only contain libfoo.so.X.Y.Z, and have the
installer system
take care of the symbolic links; if the libraries are versioned
correctly, newest is
best, always. (Because the dynamic linker takes a best match; within
"equally good"
matches, newest is best. (Unless you're using glibc2, of course |-)

Ciao,

Segher

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list