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

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0.8
    • 1.0.9
    • Jsvc
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: