You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running source_flattener.py on the latest erfa release (2.0.0) creates the following errors when attempting to compile the result (this is with Apple clang 12.0 on OSX 10.15):
gcc -c -pedantic -Wall -O3 -g -fPIC -I. erfa.c -o erfa.o
In file included from erfa.c:1:
./erfa.h:634:21: error: unknown type name 'eraLEAPSECOND'
int eraDatini(const eraLEAPSECOND *builtin, int n_builtin,
^
./erfa.h:635:15: error: unknown type name 'eraLEAPSECOND'
eraLEAPSECOND **leapseconds);
^
./erfa.h:624:2: error: unterminated conditional directive
#ifndef _ERFA_DAT_EXTRA_H
^
./erfa.h:1:2: error: unterminated conditional directive
#ifndef ERFAHDEF
^
erfa.c:11911:10: error: use of undeclared identifier 'PACKAGE_VERSION'
return PACKAGE_VERSION;
^
erfa.c:11916:10: error: use of undeclared identifier 'PACKAGE_VERSION_MAJOR'
return PACKAGE_VERSION_MAJOR;
^
erfa.c:11921:10: error: use of undeclared identifier 'PACKAGE_VERSION_MINOR'
return PACKAGE_VERSION_MINOR;
^
erfa.c:11926:10: error: use of undeclared identifier 'PACKAGE_VERSION_MICRO'
return PACKAGE_VERSION_MICRO;
^
erfa.c:11931:10: error: use of undeclared identifier 'SOFA_VERSION'
return SOFA_VERSION;
^
erfa.c:15638:21: error: use of undeclared identifier 'DBL_EPSILON'
if ( (f-1.0) >= -DBL_EPSILON/4.0 ) {
^
erfa.c:15645:13: error: use of undeclared identifier 'DBL_EPSILON'
if ( -DBL_EPSILON/2.0 < f ) {
^
11 errors generated.
make[1]: *** [erfa.o] Error 1
make: *** [erfa] Error 2
It looks like the flattener creates a header file with the erfaextra.h and erfadatextra.h headers copied in the wrong order (the latter depends on the former), and with missing #endif directives (or without stripping the existing directives from the headers first). The erfa.c source file includes the version and leapsecond code, but also includes the testing code in t_erfa_c_extra.c. The source file is also missing the #include <float.h> that's required in jd2cal.c.
The text was updated successfully, but these errors were encountered:
Running
source_flattener.py
on the latest erfa release (2.0.0) creates the following errors when attempting to compile the result (this is with Apple clang 12.0 on OSX 10.15):It looks like the flattener creates a header file with the
erfaextra.h
anderfadatextra.h
headers copied in the wrong order (the latter depends on the former), and with missing#endif
directives (or without stripping the existing directives from the headers first). Theerfa.c
source file includes the version and leapsecond code, but also includes the testing code int_erfa_c_extra.c
. The source file is also missing the#include <float.h>
that's required injd2cal.c
.The text was updated successfully, but these errors were encountered: