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

psfex does not build on macOS with newer compilers

    XMLWordPrintable

Details

    • Story
    • Status: Done
    • Resolution: Done
    • None
    • psfex
    • None
    • Architecture
    • 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 ]

          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 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.

          lgtm

          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

            ktl Kian-Tat Lim
            ktl Kian-Tat Lim
            Fritz Mueller
            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.