<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Phil,<br><div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: 'Lucida Sans'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Some of us do link C++ programs to cctbx C++ routines<br></span></blockquote></div><br><div>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.&nbsp;</div><div>What you do is that you ask the compiler to pull together your program.o and the object files inside the static library&nbsp;&nbsp;libcctbx_sgtbx_asu.a.</div><div>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&nbsp;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&nbsp;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.</div><div><br></div><div>Best wishes,</div><div><br></div><div>Luc</div><div><br></div></body></html>