Skip to content

Error compiling against EPICS 7.0.8: incomplete definition of type 'struct evSubscrip' #8

@jlmuir

Description

@jlmuir

When compiling caputRecorder 1-7-5 against EPICS 7.0.8, I get the following error:

../subMLIS.c:57:40: error: incomplete definition of type 'struct evSubscrip'

I found Michael Davidsaver's (@mdavidsaver) EPICS commit 3d25756, which wraps the struct evSubscrip definition in dbChannel.h in an #ifdef EPICS_PRIVATE_API. When I compile, EPICS_PRIVATE_API is not defined, so there's no struct evSubscrip definition, and I think that's why I'm getting this error.

FYI, I also found issue #4, which involved a similar problem in the same source code location.

Here's the end of an example terminal session:

cc              -DUNIX  -Ddarwin      -O3 -g   -Wall -Werror-implicit-function-declaration     -DUSE_TYPED_RSET   -arch arm64    -fno-common  -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/clang -I../../../include/os/Darwin -I../../../include    -I/tmp/48/opt/epics-7.0.8/include/compiler/clang -I/tmp/48/opt/epics-7.0.8/include/os/Darwin -I/tmp/48/opt/epics-7.0.8/include        -c ../subMLIS.c
../subMLIS.c:57:40: error: incomplete definition of type 'struct evSubscrip'
                pevent = (evSub *)ellNext(&pevent->node);
                                           ~~~~~~^
/tmp/48/opt/epics-7.0.8/include/ellLib.h:100:30: note: expanded from macro 'ellNext'
#define ellNext(PNODE)     ((PNODE)->next)
                             ^~~~~
/tmp/48/opt/epics-7.0.8/include/dbEvent.h:33:8: note: forward declaration of 'struct evSubscrip'
struct evSubscrip;
       ^
1 error generated.
make[4]: *** [subMLIS.o] Error 1
make[3]: *** [install.darwin-aarch64] Error 2
make[2]: *** [src.install] Error 2
make[1]: *** [caputRecorderApp.install] Error 2
make: *** [/tmp/48/opt/synapps-6.2.1/caputRecorder-R1-7-5.install] Error 2

Platform:

  • Apple Silicon (EPICS_HOST_ARCH=darwin-aarch64)
  • macOS Sonoma 14.1.1
  • EPICS 7.0.8
  • caputRecorder 1-7-5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions