An introduction to building and using shared libraries
This tutorial will cover the basics of how to build and use shared libraries, including the following topics: disadvantages of building statically linked programs; advantages of shared libraries; building shared libraries; the shared library "soname"; shared library versions (major, minor); standard conventions for building shared libraries; installing shared libraries; compatible versus incompatible libraries; upgrading shared libraries; finding shared libraries at run time; dynamically loaded libraries; and (if time permits) symbol versioning.
The tutorial is targeted at C programmers who need to build and deploy shared libraries. Attendees need not have any previous experience creating shared libraries on Linux or any other system.
Practical work will require laptops with a C compiler installed. (Working in pairs may be the best way to do things.)
Michael Kerrisk has been using and programming computers since 1978, starting on a PDP-11 (good) that didn't have Unix (unfortunate). He only found Unix in 1987, but they've been good friends since then. In 2004, after a few years as a contributor, he became the maintainer of sections 2, 3, 4, 5, and 7 of the Linux manual pages (the sections used by programmers on Linux http://www.kernel.org/pub/linux/docs/manpages/). He is currently working on a book that provides a detailed description of the Linux (and Unix) system call API. Michael lives in Munich, Germany, but he is originally from Christchurch, NZ, and says that he's an envoy from Linux City to the Mirror City.