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

Shared libraries, dependencies and symbols files


since library maintainers will soon have the possibilty to use
symbol-based dependencies (instead of shlibs) I setup a system
to keep up-to-date ready-to-use symbols files using Mole:

You type a binary package name and you get to see whether you'll
be able to use a single symbols files for all arches like
simple libs, for example ftplib3:

Or if you're a complicated lib like libc6, you'll have to handle
different files for each architecture:

In other cases, most of the architectures are in sync and some
special architectures are creating troubles. It looks like
hurd-i386 is currently causing me lots of troubles for example on pango:

Pango export the same set of symbols across architectures but apparently
hurd-i386 is an exception that makes my script believe otherwise.

(m68k has a different md5sum too, but the same set of symbols, it's only
the version which are different since m68k didn't manage to build the
exact same version historically... however hurd-i386 has more symbols
in this case, it looks like it exports symbols that should be hidden)

In those cases, a common symbols file will do and one special
architecture-specific files (debian/package.symbols.arch) can override
the default debian/package.symbols (if the difference in the set of
symbols is meant to last, otherwise better fix the toolchain of the
affected architecture :-)). Also if you know that the supplementary
symbols are not used (because they are private), you can simply decide to
ignore the issue as it will have no impact on generated dependencies.

Comments are welcome.

Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :

Reply to: