Uploaded image for project: 'ActiveMQ C++ Client'
  1. ActiveMQ C++ Client
  2. AMQCPP-370

pkg-config does not properly indicate static dependencies

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 3.2.5
    • 3.4.1, 3.5.0
    • CMS Impl
    • None
    • Linux

    Description

      The output from pkg-config does not properly indicate the full dependency requirements for static linking. For example, if configured --with-openssl=... then the pkg-config --static output should reflect this.

      Here's an example from libcurl demonstrating this:
      curl-7.21.6 $ ./configure
      curl-7.21.6 $ cp libcurl.pc libcurl-plain.pc
      curl-7.21.6 $ ./configure --with-ssl
      curl-7.21.6 $ diff libcurl-plain.pc libcurl.pc
      38c38
      < Libs.private: -lrt

      > Libs.private: -lssl -lcrypto -lrt -lssl -lcrypto -ldl
      curl-7.21.6 $ pkg-config --libs libcurl
      -lcurl
      curl-7.21.6 $ pkg-config --libs --static libcurl
      -lcurl -lssh2 -lssl -lcrypto -lrt -lz
      curl-7.21.6 $

      This can be (crudely) fixed by adding the following to activemq-cpp.pc.in:

      Libs.private = @AMQ_LIBS@

      [A cleaner solution would require updates of configure.ac for a more precise specification.]

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            tabish Timothy A. Bish
            kquick Kevin Quick
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment