Qpid
  1. Qpid
  2. QPID-4702

cmake build of ssl support does not work on certain platforms

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.20, 0.22
    • Fix Version/s: 0.23
    • Component/s: C++ Broker, C++ Client
    • Labels:
      None

      Description

      This is a result of the order of libraries and object files passed to the linker. The libraries must follow the .o files that require them or they will be ignored (assumed not needed).

        Activity

        Gordon Sim created issue -
        Hide
        Gordon Sim added a comment -

        The following patch has been confirmed to fix the problem where reported, and does not break platforms on which the issue wasn't observed. It is not however strictly correct as it involves the libraries being listed twice in the link command, once before and once after the .o files.

        Index: src/ssl.cmake
        ===================================================================
        --- src/ssl.cmake	(revision 1464148)
        +++ src/ssl.cmake	(working copy)
        @@ -72,6 +72,9 @@
                 )
         
             add_library (sslcommon SHARED ${sslcommon_SOURCES})
        +    foreach(f ${NSS_LIBRARIES})
        +      target_link_libraries (sslcommon ${f})
        +    endforeach(f)
             target_link_libraries (sslcommon qpidcommon)
             set_target_properties (sslcommon PROPERTIES
                                    VERSION ${sslcommon_version}
        
        Show
        Gordon Sim added a comment - The following patch has been confirmed to fix the problem where reported, and does not break platforms on which the issue wasn't observed. It is not however strictly correct as it involves the libraries being listed twice in the link command, once before and once after the .o files. Index: src/ssl.cmake =================================================================== --- src/ssl.cmake (revision 1464148) +++ src/ssl.cmake (working copy) @@ -72,6 +72,9 @@ ) add_library (sslcommon SHARED ${sslcommon_SOURCES}) + foreach(f ${NSS_LIBRARIES}) + target_link_libraries (sslcommon ${f}) + endforeach(f) target_link_libraries (sslcommon qpidcommon) set_target_properties (sslcommon PROPERTIES VERSION ${sslcommon_version}
        Hide
        Gordon Sim added a comment -

        Revised patch available for review: https://reviews.apache.org/r/10299/

        Show
        Gordon Sim added a comment - Revised patch available for review: https://reviews.apache.org/r/10299/
        Hide
        Gordon Sim added a comment -

        Patch from review board applied on trunk http://svn.apache.org/viewvc?view=revision&revision=r1470693

        A better solution may be found in future, but this should address it for now.

        Show
        Gordon Sim added a comment - Patch from review board applied on trunk http://svn.apache.org/viewvc?view=revision&revision=r1470693 A better solution may be found in future, but this should address it for now.
        Gordon Sim made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 0.23 [ 12324273 ]
        Resolution Fixed [ 1 ]
        Hide
        Justin Ross added a comment -
        Show
        Justin Ross added a comment - Released in Qpid 0.24, http://qpid.apache.org/releases/qpid-0.24/index.html
        Justin Ross made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        18d 7h 12m 1 Gordon Sim 22/Apr/13 21:03
        Resolved Resolved Closed Closed
        138d 17h 33m 1 Justin Ross 08/Sep/13 14:37

          People

          • Assignee:
            Gordon Sim
            Reporter:
            Gordon Sim
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development