Hi Florian,
On 2024-04-09 16:38, Florian Forster wrote:
Building with EPICS fails because the compiler cannot find
`compilerSpecific.h`:
```
In file included from /usr/include/epics/epicsThread.h:62,
from /usr/include/epics/cadef.h:35,
from src/epics.c:26:
/usr/include/epics/compilerDependencies.h:21:10: fatal error:
compilerSpecific.h: No such file or directory
21 | #include "compilerSpecific.h"
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:8195: src/epics_la-epics.lo] Error 1
```
The file exists at `/usr/include/epics/compiler/gcc/compilerSpecific.h`,
which is not a directory searched by the compiler.
According to /usr/share/pkgconfig/epics-base.pc,
/usr/include/compiler/gcc should be added to include path when compiling.
`"compilerSpecific.h"` isincluded unconditionally, and fails when not
compiled with GCC. My recommendation is to guard the inclusion of the
file with an appropriate check, for example:
```
// /usr/include/epics/compilerDependencies.h, line 21
#if __GNUC__
# include "compiler/gcc/compilerSpecific.h"
#endif
```
What compiler do you use? Does this patch work for you? If so, it is
probably worth upstreaming it. Can you as well try to add
/usr/include/compiler/gcc to your compiler's include path?
Best wishes,
Andrius