Right, you would need to recompile all dependencies so they can be included this way, which may be pretty painful. As an alternative, I have often distributed Haskell libraries/executables together with their shared libraries in the past. If the user (or installer) sets LD_LIBRARY_PATH
correctly, is should be a pretty smooth process.