Why are there two different kinds of linking, i.e. static and dynamic?

Posted by davidk01 on Programmers See other posts from Programmers or by davidk01
Published on 2014-06-06T00:45:22Z Indexed on 2014/06/06 3:39 UTC
Read the original article Hit count: 296

I've been bitten for the n-th time now by a library mismatch between a build and deployment environment. The build environment had libruby.so.2.0 and the deployment environment had libruby.a. One ruby was built with RVM, the other was built with ruby-build. The reason I ran into a problem was because zookeeper was compiled in a build environment that had the shared library but the deployment environment only had the static library.

In all the years I've been writing application code I have never once wished that the binaries I was using where linked against shared objects. What is the reason the dichotomy persists to this day on modern operating systems?

© Programmers or respective owner

Related posts about c

    Related posts about deployment