Allow the same jsvc binary executable to work with either libcap.so.1 or libcap.so.2 at runtime -----------------------------------------------------------------------------------------------
Key: DAEMON-234 URL: https://issues.apache.org/jira/browse/DAEMON-234 Project: Commons Daemon Issue Type: Improvement Components: Jsvc Affects Versions: 1.0.8 Reporter: Phil Clay >From a recent mail thread on the commons user list... http://markmail.org/message/uvkfqd7nkqyhq5eg I would like to be able to use jsvc on both debian and redhat machines. Ideally, I'd like to be able to compile jsvc once, and use the same binary on both platforms. The problem I am encountering is that the version of libcap varies across machines. For example, if I compile jsvc on a RHEL 5.4 machine (which has libcap.so.1), and then attempt to run the same binary on a Debian 6 machine (which has libcap.so.2), then the execution fails with: jsvc: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory In order to create a single jsvc executable that works whether or not libcap.so.1 or libcap.so.2 is available at runtime, the jsvc code should use dlopen("libcap.so") and then dlsym all API's instead linking. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira