EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Building Matlab Channel Access with Base R3.15.7
From: Eric Norum via Tech-talk <[email protected]>
To: [email protected]
Date: Thu, 23 Jan 2020 09:24:04 -0800
Recent attempts to build the Matlab channel access extension on my OS X machine resulted in
. . .
In file included from mca.cpp:15:
In file included from /usr/local/epics/R3.15.7/base/include/cadef.h:40:
In file included from /usr/local/epics/R3.15.7/base/include/epicsThread.h:131:
In file included from /usr/local/epics/R3.15.7/base/include/epicsMutex.h:13:
In file included from /usr/local/epics/R3.15.7/base/include/epicsAssert.h:20:
/usr/local/epics/R3.15.7/base/include/compilerDependencies.h:19:10: fatal error: 'compilerSpecific.h' file not found

The mca extension build system doesn’t use any of the EPICS build stuff and thus must be told the location of the compiler-specific headers.
Also, the dbStaticHost library doesn’t seem to exist now, but removing the reference to it doesn’t seem to hurt things.

Here’s my quick fix — should work on Linux too, but not tested:

diff --git a/Makefile b/Makefile
index f6f63f8..fc21b2a 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,7 @@

        

 ifeq (darwin, $(findstring darwin,$(EPICS_HOST_ARCH)))
 OS_CLASS = Darwin
+CMPLR_CLASS = clang
 MEXOUT = mexmac
 # For Octave:
 # MEXOUT = mex
@@ -17,6 +18,7 @@ endif

 

 ifeq (linux, $(findstring linux,$(EPICS_HOST_ARCH)))
 OS_CLASS = Linux
+CMPLR_CLASS = gcc
 MEXOUT = mexglx
 endif

 

@@ -52,12 +54,13 @@ FLAGS += -v
 # Includes -------------------------------------------
 # EPICS Base
 FLAGS += -I$(EPICS_BASE)/include
+FLAGS += -I$(EPICS_BASE)/include/compiler/$(CMPLR_CLASS)
 FLAGS += -I$(EPICS_BASE)/include/os/$(OS_CLASS)
 FLAGS += -DEPICS_DLL_NO

 

 # Libraries ------------------------------------------
 # EPICS Base
-FLAGS += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) -ldbStaticHost -lCom -lca
+FLAGS += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) -lCom -lca

 

 $(OUT):
        mkdir $(OUT)

-- 
Eric Norum
[email protected]



Navigate by Date:
Prev: Re: EPICS support for PoE Injector Hub Gessner, Spencer J. via Tech-talk
Next: Re: CAS-client thread issues in areaDetector IOC Wlodek, Jakub via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: CAS-client thread issues in areaDetector IOC Michael Davidsaver via Tech-talk
Next: possibility of using areaDetector to drive Varax 4343 detector ChenZhang@Gmail via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 05 Feb 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·