On 5/9/10 9:40 PM, Jincheol B. Kim wrote:
Dear Lewis and Ralph,
I appreciate your kind reply.
Currently, I am working with the KSTAR team at NFRI, Daejeon, Korea and
developing a distributed control and data acquisition module for the
ECEI diagnostics to be installed at KSTAR. The version of EPICS base in
the current KSTAR integrated control system is 3.14.8.2 and that's why I
am using EPICS base 3.14.8.2.
The error seems to be so strange as you can see. I had used EPICS before
but I haven' seen any error like this before. As far as I have learned
about the error, it happens because the compiler can not find
appropriate definitions of defined type (typedef types) in the
definition of fields of the structure in dbCommon.h. I attach the
dbCommon.h and epicsTime.h to this e-mail, but they are the files
included in the published distribution.
Hi, Jincheol.
I don't think dbCommon.h is included in the distribution, it is
generated at build time (by src/db/Makefile).
Comparing your dbCommon.h to mine, I see they are different. Mine
includes the following before the "#ifndef INCdbCommonH" line:
#include "ellLib.h"
#include "epicsMutex.h"
#include "link.h"
#include "epicsTime.h"
#include "epicsTypes.h"
So my dbCommon.h includes "epicsTime.h" which defines the epicsTimeStamp
type. Your dbCommon.h does *not* include "epicsTime.h" which is why the
compiler doesn't understand the "epicsTimeStamp time;" line in the
dbCommon typedef which is why it's failing when it includes dbCommon.h
in dbLock.c.
Given this, I think the problem is in how your dbCommon.h is getting
generated. Why is it missing the includes that mine has? Are you
seeing any errors in your build when it builds dbCommon.h?
I don't have a lot of experience with how dbCommon.h gets generated. I
could continue to help, but I suspect others on this list might have
better suggestions about what is going wrong at this point.
Lewis