Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-4327

ActiveMQCPP does not build on OS X El Capitan

    Details

    • Team:
      Architecture

      Description

      Our version, 3.5.0, of ActiveMQCPP from 2012 does not build on OS X El Capitan because El Capitan no longer ships with openssl. Apple have deprecated openssl for a few releases and now it's gone. Apple recommends using their crypto libraries or installing a third party openssl.

      Unfortunately the current ActiveMQCPP also does not work with El Capitan crypto libraries so it looks like we may have to start shipping our own openssl (unlike qserv we can't simply switch to Apple crypto digest code as activemqcpp uses a lot of openssl code).

      Without this package, lsst_distrib will not build on El Capitan.

        Attachments

          Issue Links

            Activity

            Hide
            ktl Kian-Tat Lim added a comment -

            On CentOS we require users to have openssl-devel installed. I guess to date we have managed to do without anything other than Xcode on OS X?

            Another alternative could be to declare that packages like ActiveMQCPP are for production use only and do not require portability to OS X.

            Show
            ktl Kian-Tat Lim added a comment - On CentOS we require users to have openssl-devel installed. I guess to date we have managed to do without anything other than Xcode on OS X? Another alternative could be to declare that packages like ActiveMQCPP are for production use only and do not require portability to OS X.
            Hide
            tjenness Tim Jenness added a comment -

            The second option means that lsst_distrib will have to be abandoned on OS X. Qserv will be a problem but can be worked around by porting to the Apple crypto library (since it is only using digests).

            Given what we say on Linux, I'm inclined to say that we tell people they have to use homebrew if they want those products to build for now.

            Show
            tjenness Tim Jenness added a comment - The second option means that lsst_distrib will have to be abandoned on OS X. Qserv will be a problem but can be worked around by porting to the Apple crypto library (since it is only using digests). Given what we say on Linux, I'm inclined to say that we tell people they have to use homebrew if they want those products to build for now.
            Hide
            swinbank John Swinbank added a comment -

            Do we require SSL support? It should build fine with --disable-ssl.

            I don't know the details of how ActiveMQ is used, but presumably we could even special case things so that we drop the SSL support on OS X only and warn that it's not suitable for use in production environments. It should still be find for end users wanting to experiment with lsst_distrib.

            (And if we have to specify it as a system dependency, let's just do that rather than tying ourselves to one particular package management system.)

            Show
            swinbank John Swinbank added a comment - Do we require SSL support? It should build fine with --disable-ssl . I don't know the details of how ActiveMQ is used, but presumably we could even special case things so that we drop the SSL support on OS X only and warn that it's not suitable for use in production environments. It should still be find for end users wanting to experiment with lsst_distrib . (And if we have to specify it as a system dependency, let's just do that rather than tying ourselves to one particular package management system.)
            Hide
            tjenness Tim Jenness added a comment -

            Thanks. I had not noticed the disable option. I see that Apple ship with the openssl libraries but not the include files. Presumably for backwards compatibility.

            Disabling SSL on OS X seems reasonable given that we only use this package for ctrl_events and I imagine ctrl_events is not using SSL features. activemqcpp is meant to disable SSL itself if openssl is missing but it seems that test is not robust and only checks for the presence of the library (at least on version 3.9.0). This is a "u" thirdparty package so I think I'll update it as part of this ticket.

            I don't think I'm going to try to do my own "do we have openssl installed" pre-configure tests.

            Show
            tjenness Tim Jenness added a comment - Thanks. I had not noticed the disable option. I see that Apple ship with the openssl libraries but not the include files. Presumably for backwards compatibility. Disabling SSL on OS X seems reasonable given that we only use this package for ctrl_events and I imagine ctrl_events is not using SSL features. activemqcpp is meant to disable SSL itself if openssl is missing but it seems that test is not robust and only checks for the presence of the library (at least on version 3.9.0). This is a "u" thirdparty package so I think I'll update it as part of this ticket. I don't think I'm going to try to do my own "do we have openssl installed" pre-configure tests.
            Hide
            tjenness Tim Jenness added a comment -

            Steve Pietrowicz informs me that ctrl_events does not require SSL so there is no issue with just disabling SSL on OS X.

            Show
            tjenness Tim Jenness added a comment - Steve Pietrowicz informs me that ctrl_events does not require SSL so there is no issue with just disabling SSL on OS X.
            Hide
            tjenness Tim Jenness added a comment -

            Trivial change to eupspkg.cfg.sh file. Self reviewed. Now builds on El Capitan.

            Show
            tjenness Tim Jenness added a comment - Trivial change to eupspkg.cfg.sh file. Self reviewed. Now builds on El Capitan.

              People

              • Assignee:
                tjenness Tim Jenness
                Reporter:
                tjenness Tim Jenness
                Watchers:
                John Swinbank, Kian-Tat Lim, Steve Pietrowicz, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel