Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-27803

Build problem and unittests failures in Release due to missing symbols

    XMLWordPrintable

Details

    Description

      In Release builds the default visibility is set to hidden.
      This exposes 2 problems:

      1) unittests fails to link - createUpdateLogResponse missing.
      This symbol is defined by buildtest/generated/ws_loggingservice.esp (generated by ws_loggingservice.ecm)

      Possibly, the generated code should generate the default visibility itself.
      However, elsewhere at the moment, libraries/executables explicitly include the generated cpp.

      unittests linked in Debug and RelWithDebInfo modes, because it could pick up the exported symbol from logginglib. With default visibility set to hidden, that is no longer the case.

      afishbeck - should symbols like createUpdateLogResponse be generated with _attribute_ ((visibility ("default"))) ?
      If so, then I think there are various places that are explicitly including the generated cpp and including a library that includes the cpp that exports the symbol(s), e.g. esp/logging/loggingmanager , which includes logginglib.

      2) Missing visibility defaults settings for symbols used by libraries loaded by configmgr.

      This was highlighted by some of the configmgr environment validity tests, which were failing to pass because they dynamically loaded libraries and looked for a symbol, which was missing (getCfgMgrSupportInstance).

      Attachments

        Activity

          People

            jakesmith Jake Smith
            jakesmith Jake Smith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: