It seems that the behaviour of --link is subtly different between OSX and Linux. Many libraries are symbolic links and are referenced through the link names. Consider a library referenced as X which is a symlink to Y X -> Y On linux, pp dereferences X and packs Y with the name X, which is nice. However on OSX, it seems that pp dereferences X and packs Y but with the name Y. This breaks components which reference the library via name X. I can work around this by copying Y to name X in, say, /tmp and then packing /tmp/X and this works but it would be nice to make OSX pp have the same behaviour as linux pp.