Uploaded image for project: 'Commons Daemon'
  1. Commons Daemon
  2. DAEMON-234

Allow the same jsvc binary executable to work with either libcap.so.1 or libcap.so.2 at runtime

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.8
    • Fix Version/s: 1.0.9
    • Component/s: Jsvc
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                philsttr Phil Clay
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: