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
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. |
Status | To Do [ 10001 ] | In Progress [ 3 ] |
Reviewers | Fritz Mueller [ fritzm ] | |
Status | In Progress [ 3 ] | In Review [ 10004 ] |
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. |
Status | In Review [ 10004 ] | Reviewed [ 10101 ] |
Resolution | Done [ 10000 ] | |
Status | Reviewed [ 10101 ] | Done [ 10002 ] |
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