rpath

Oct. 2, 2016, 11:56 a.m.

I am an ardent practitioner of the Six Stages of Debugging. One is forced to, when one's software needs to simultaneously work on Mac OSX and RHEL5 Linux and modern Linux (these two are, in fact, very different). Until the cows actually come home and the day of the Linux desktop is here, I have to continue contending with OSX and its eccentric ways.

One of which is how OSX handles run-time search paths for shared libraries that you build yourself. CMake luckily has a great explanation of rpath differences in Linux and Macs. It's a beautiful default behavior until Linux screams at me with SYMBOL LOOKUP ERROR GOODBYE while everything seemingly chugs along in OSX. I'm assuming this is because nobody cares about Unix portability at Apple. In any case, for these situations -Wl,-rpath, is probably the easiest thing to do without modifying other people's LD_LIBRARY_PATH or system libs.