[cctbxbb] Module versioning (was Re: Debian Package)

Luc Bourhis luc_j_bourhis at mac.com
Mon Sep 3 14:33:57 PDT 2012


Hi Phil,

> Some of us do link C++ programs to cctbx C++ routines

What you do not do is linking your program.o with a shared library libcctbx_sgtbx_asu.so because there is no such thing as the latter. 
What you do is that you ask the compiler to pull together your program.o and the object files inside the static library  libcctbx_sgtbx_asu.a.
But static libraries don't pose the same versioning problems as shared ones. Let's imagine that your program was made from version 1 of libcctbx_sgtbx_asu.a on your development machine A and then that it gets installed on a machine B with a more recent cctbx, featuring libcctbx_sgtbx_asu.a version 2. Your program will work as well on B as on A. Now replace static with shared in that example, and your program may crash B.

Best wishes,

Luc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20120903/0bb19b48/attachment.htm>


More information about the cctbxbb mailing list