On Sun, 2014-11-23 at 13:08 +0000, Luís Oliveira wrote:
> On Sun, Nov 23, 2014 at 12:27 AM, Stelian Ionescu <sione...@cddr.org> wrote:
> > Most often than not, but I know of cases where the headers for the
> > current version of a library are put directly under /usr/include,
> > whereas the older versions are in subdirectories of /usr/include and
> > require pkg-config, and therefore if pkg-config is not used, the CFFI
> > code will be compiled against the wrong(newer) library. IIRC, this is
> > the case with BerkeleyDB and Postgres's libpq on some distributions.
> 
> OK, that makes sense. In this particular case, though, we're not
> specifying any version:
> 
>     #+linux
>     (pkg-flags "libffi")
> 
> How are versions specified in pkg-config and how do they relate with
> the major version in the .so file name? (I googled a little bit for
> examples but couldn't find any.)

There's no standard across libraries, only conventions for specific
libraries; e.g. my openSUSE has libpng-1.2
in /usr/lib64/pkgconfig/libpng12.pc and linbpng-1.6
in /usr/lib64/pkgconfig/libpng16.pc

Some libraries(like libpng) break API at every major release and the
pkg-config names contain the package version, others break API more
seldom and the pkg-config version is a slowly increasing serial number
unrelated to the release version; also the pkg-config name may or may
not contain dots and dashes, etc...

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Cffi-devel mailing list
Cffi-devel@common-lisp.net
http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to