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

psfex does not build on macOS with newer compilers

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: psfex
    • Labels:
      None
    • Team:
      Architecture
    • Urgent?:
      No

      Description

      psfex has two uninitialized global variables in the diagnostic.h header file. The Linux conda compilers are able to compile this because they set the -fcommon flag that treats all such variables as part of a global common block. The macOS conda compilers appear to have changed recently to use the standard default of -fno-common, which results in a duplicate symbol link error.

      Please fix the code by making the global variable declarations extern and defining them in the diagnostic.c source file.

        Attachments

          Activity

          No builds found.
          ktl Kian-Tat Lim created issue -
          ktl Kian-Tat Lim made changes -
          Field Original Value New Value
          Description psfex has two uninitialized global variables in the {{diagnostics.h}} header file. The Linux conda compilers are able to compile this because the set the {{-fcommon}} flag that treats all such variables as part of a global common block. The macOS conda compilers appear to have changed recently to use the standard default of {{-fno-common}}, which results in a duplicate symbol link error.

          Please fix the code by making the global variable declarations {{extern}} and defining them in the {{diagnostics.c}} source file.
          psfex has two uninitialized global variables in the {{diagnostic.h}} header file. The Linux conda compilers are able to compile this because the set the {{-fcommon}} flag that treats all such variables as part of a global common block. The macOS conda compilers appear to have changed recently to use the standard default of {{-fno-common}}, which results in a duplicate symbol link error.

          Please fix the code by making the global variable declarations {{extern}} and defining them in the {{diagnostic.c}} source file.
          ktl Kian-Tat Lim made changes -
          Status To Do [ 10001 ] In Progress [ 3 ]
          Hide
          ktl Kian-Tat Lim added a comment -

          A two-liner (one in each file). Builds successfully on all platforms: https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/33233/pipeline/49

          Show
          ktl Kian-Tat Lim added a comment - A two-liner (one in each file). Builds successfully on all platforms: https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/33233/pipeline/49
          ktl Kian-Tat Lim made changes -
          Reviewers Fritz Mueller [ fritzm ]
          Status In Progress [ 3 ] In Review [ 10004 ]
          ktl Kian-Tat Lim made changes -
          Description psfex has two uninitialized global variables in the {{diagnostic.h}} header file. The Linux conda compilers are able to compile this because the set the {{-fcommon}} flag that treats all such variables as part of a global common block. The macOS conda compilers appear to have changed recently to use the standard default of {{-fno-common}}, which results in a duplicate symbol link error.

          Please fix the code by making the global variable declarations {{extern}} and defining them in the {{diagnostic.c}} source file.
          psfex has two uninitialized global variables in the {{diagnostic.h}} header file. The Linux conda compilers are able to compile this because they set the {{-fcommon}} flag that treats all such variables as part of a global common block. The macOS conda compilers appear to have changed recently to use the standard default of {{-fno-common}}, which results in a duplicate symbol link error.

          Please fix the code by making the global variable declarations {{extern}} and defining them in the {{diagnostic.c}} source file.
          Hide
          fritzm Fritz Mueller added a comment -

          lgtm

          Show
          fritzm Fritz Mueller added a comment - lgtm
          fritzm Fritz Mueller made changes -
          Status In Review [ 10004 ] Reviewed [ 10101 ]
          ktl Kian-Tat Lim made changes -
          Resolution Done [ 10000 ]
          Status Reviewed [ 10101 ] Done [ 10002 ]

            People

            Assignee:
            ktl Kian-Tat Lim
            Reporter:
            ktl Kian-Tat Lim
            Reviewers:
            Fritz Mueller
            Watchers:
            Fritz Mueller, Kian-Tat Lim, Robert Lupton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins

                No builds found.